有没有人想分享 NSDocument 的优点和缺点?
特别是:
一旦依赖了 NSDocument 架构,是否很难在需要时将其重构出来?
对性能有影响吗?
它在某些/许多方面限制了您吗?
最佳答案
(1) 一旦进入NSDocument,就很难回头了。那是因为 NSDocument 架构为您完成了大量繁重的工作。它为基于多文档的 Cocoa 应用程序的正常运行奠定了基础。如果你愿意,你可以重新发明那个轮子,但要实现平价将需要大量工作。
(2) 否;当然,文档体系结构在维护状态等方面会消耗一些周期。但是如果您要尝试推出自己的架构,您几乎必须做同样的事情。 AppKit 团队中维护文档架构的人员这样做是因为这是他们的工作——您的工作是尽可能快地向客户交付产品。如果您可以证明构建文档架构是实现该目标的一部分,那就去做吧。如果没有,而您需要一个,请重复使用给您的那个。
(3) 它限制您创建基于文档的应用程序。 :)
说真的,如果您需要基于文档的应用程序,请使用 NSDocument。如果你不这样做,就不要。
我最近编写了一个数据处理应用程序,其中所有文档数据都是从各种基于文本的文件中导入的。我真的不需要在 session 之间保留数据——它在列表中很好——但我仍然使用 NSDocument。它为我节省了大量时间。
关于objective-c - NSDocument 架构的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1418439/