2009-10-24 52 views
3

在设计我的应用程序时,我应该拥有多少个控制器?为整个应用程序,整个窗口或每个班级设置一个控制器是否是好习惯?此外,在Interface Builder的文档窗口中创建了多少个对象。教程通常有一个叫做AppController。完整的应用程序通常具有App Controller或n * XYZController吗?可可应用程序中有多少种控制器类是典型的?

回答

4

在非基于文档的应用程序中,每个窗口一个。我只谈论自己编写的控制器,而不是窗口控制器,视图控制器,对象控制器,阵列控制器,树形控制器或字典控制器。 (请注意,有些人确实将自定义控制器设置为NSWindowController。)我也不计算拥有根控制器的应用程序委托。

在单窗口应用程序中,通常意味着一个自定义控制器。

在基于文档的应用程序中,通常根本不写控制器,而是编写一个或多个NSDocument子类 - 每个文档类型一个。每个文档对象通常只拥有一个窗口。

无论您正在编写什么样的应用程序,您可能还想为任​​何浮动实用程序面板(例如Inspector)制作控制器,尽管您应该考虑以下替代方案:使面板成为自己的面板控制器,就像NSFontPanel和NSColorPanel一样。

1

每个窗口一个,正如Peter Hosey所说的那样,不是一个坏的策略,但是一个人的窗口是另一个女人的子视图。我更喜欢在功能集群中思考:如果需要完成两个或更多相关的事情,他们可能需要一个控制器。

但是,这是至关重要的,你必须要能够想到一个好名字的控制器:importController,或textFilesImportController或externalFilesDisplayController的名字是明确什么特定的控制器会做不会做。

如果您无法为控制器想出一个好名字,请将其作为您不需要它的标志,或者您对设计仍不清楚。在这种情况下,您可以选择将其称为您的whateverController,直到您的下一个见解闪现出现为止。

相关问题