在设计我的应用程序时,我应该拥有多少个控制器?为整个应用程序,整个窗口或每个班级设置一个控制器是否是好习惯?此外,在Interface Builder的文档窗口中创建了多少个对象。教程通常有一个叫做AppController。完整的应用程序通常具有App Controller或n * XYZController吗?可可应用程序中有多少种控制器类是典型的?
3
A
回答
4
在非基于文档的应用程序中,每个窗口一个。我只谈论自己编写的控制器,而不是窗口控制器,视图控制器,对象控制器,阵列控制器,树形控制器或字典控制器。 (请注意,有些人确实将自定义控制器设置为NSWindowController。)我也不计算拥有根控制器的应用程序委托。
在单窗口应用程序中,通常意味着一个自定义控制器。
在基于文档的应用程序中,通常根本不写控制器,而是编写一个或多个NSDocument子类 - 每个文档类型一个。每个文档对象通常只拥有一个窗口。
无论您正在编写什么样的应用程序,您可能还想为任何浮动实用程序面板(例如Inspector)制作控制器,尽管您应该考虑以下替代方案:使面板成为自己的面板控制器,就像NSFontPanel和NSColorPanel一样。
1
每个窗口一个,正如Peter Hosey所说的那样,不是一个坏的策略,但是一个人的窗口是另一个女人的子视图。我更喜欢在功能集群中思考:如果需要完成两个或更多相关的事情,他们可能需要一个控制器。
但是,这是至关重要的,你必须要能够想到一个好名字的控制器:importController,或textFilesImportController或externalFilesDisplayController的名字是明确什么特定的控制器会做和不会做。
如果您无法为控制器想出一个好名字,请将其作为您不需要它的标志,或者您对设计仍不清楚。在这种情况下,您可以选择将其称为您的whateverController,直到您的下一个见解闪现出现为止。
相关问题
- 1. 具有多种文档类型的可可基于文档的应用程序
- 2. 如何使用多种类型的控制器构建应用程序?
- 3. 帮助理解多控制器可可应用程序
- 4. 多用户类型rails应用程序的控制器方案
- 5. 从可可应用程序控制iTunes
- 6. C#类可以返回或是多种类型的控件
- 7. mongodb中有多少种类型的锁?
- 8. 在WinAPI控制台应用程序中使用多种字体类型
- 9. Rails应用程序中可裁剪的重量是多少?
- 10. 哪种类型的应用程序可以使用WebParts?
- 11. 是否有可能在Windows控制台应用程序
- 12. iPhone上的应用程序有多少磁盘空间可用?
- 13. Rails应用程序的视图是否有可能从另一个应用程序拥有控制器?
- 14. 有多少种类型的Asp.net网站
- 15. 控制台应用程序中的可靠定时器
- 16. 解析器有多少类型可用于android
- 17. 经典asp中应用程序对象的大小限制是多少?
- 18. Kohana 3是否有类似应用程序控制器?
- 19. 有多少文本asp:label控件可以容纳多少限制?
- 20. Java控制台应用程序:System.out仍然是一种可行的方式吗?
- 21. 是否有可能从另一个C#控制台应用程序控制WinForm?
- 22. 是否有可能拥有多种语言的Facebook应用程序?
- 23. 可穿戴应用程序可用多少GUI图形来定制通知?
- 24. Node.js在典型Web应用程序中的可扩展性
- 25. C#可能对控制台应用程序的部分类“程序”类?
- 26. Facebook更新有多少种类型?
- 27. “Box Model”CSS有多少种类型?
- 28. 是否有可能在一个应用程序中有多个标签栏控制器?
- 29. 应用程序访问控制的LDAP,它应该控制多少?
- 30. 是否有可能在PHP中构建这种类型的程序?