2009-09-13 31 views
5

Qualcuno ha pro e contro di NSDocument che vorrebbero condividere?NSDocument architettura pro e contro

In particolare:

  • Una volta si dipende l'architettura NSDocument, è difficile refactoring fuori se è necessario?

  • Ci sono implicazioni sulla performance?

  • Ti limita in alcuni/molti modi?

risposta

17

(1) Una volta avviato NSDocument, è difficile tornare indietro. Ciò è dovuto al fatto che l'architettura NSDocument esegue una quantità enorme di operazioni pesanti per te. Crea le basi per un'applicazione Cocoa basata su più documenti correttamente funzionante. Puoi re-inventare quella ruota se vuoi, ma sarà una grande quantità di lavoro solo per raggiungere la parità.

(2) No; naturalmente, l'architettura del documento consuma alcuni cicli di mantenimento dello stato, ecc. Ma dovresti fare lo stesso se provassi a far girare il tuo. E i membri del team AppKit che gestiscono l'architettura del documento lo fanno perché è il loro lavoro: il tuo compito è spedire i prodotti ai clienti nel modo più rapido e migliore possibile. Se puoi giustificare la costruzione di un'architettura di un documento come parte dell'incontro con quell'obiettivo, fallo. Se no e ne hai bisogno, riutilizzare quello che ti è stato dato.

(3) Limita la creazione di un'applicazione di applicazione basata su documenti. :)

Seriamente, se hai bisogno di un'applicazione basata su documenti, vai con NSDocument. Se non lo fai, non farlo.

Recentemente ho scritto un'applicazione di elaborazione dati in cui tutti i dati per documento sono importati da vari file basati su testo. Non ho davvero bisogno di mantenere i dati tra le sessioni - è sulla bella lista - ma sono andato con NSDocument. Mi ha salvato un'enorme quantità di tempo.

+1

Ottimo elenco di risposte. Giusto per aggiungerlo, ci sono anche ottime ragioni per l'interfaccia utente per andare con l'architettura NSDocument; fornisce una grande quantità di comportamenti sottili che sono grandi per i tuoi utenti e facilmente sfuggono quando si progetta per la prima volta l'app. –