NSDocument架构的优缺点

con*_*gan 5 cocoa objective-c nsdocument

有没有人有任何他们想分享的NSDocument利弊?

特别是:

  • 一旦依赖NSDocument架构,如果需要,难以重构吗?

  • 是否有性能影响?

  • 它会以某种/多种方式限制你吗?

bbu*_*bum 17

(1)一旦你去了NSDocument,很难回去.这是因为NSDocument架构为您提供了大量繁重的工作.它为基于Cocoa应用程序的正确运行的多文档创建了基础.如果你愿意,你可以重新发明那个轮子,但实现平价只会是一项巨大的工作.

(2)否; 当然,文档体系结构在维护状态等方面会消耗一些周期.但是如果你尝试自己动手,那么你几乎必须这样做.AppKit团队中维护文档架构的人员也是这样做的,因为这是他们的工作 - 您的工作就是尽快将产品发送给客户.如果您可以证明构建文档体系结构是实现该目标的一部分,那就去做吧.如果没有,你需要一个,重用你给的那个.

(3)它限制您创建基于文档的应用程序应用程序.:)

说真的,如果您需要基于文档的应用程序,请使用NSDocument.如果你不这样做,不要.

我最近编写了一个数据处理应用程序,其中所有的每个文档数据都是从各种基于文本的文件中导入的.我真的不需要在会话之间保持数据 - 这是很好的列表 - 但我仍然使用NSDocument.它为我节省了大量时间.