在設計我的應用程序時,我應該擁有多少個控制器?爲整個應用程序,整個窗口或每個班級設置一個控制器是否是好習慣?此外,在Interface Builder的文檔窗口中創建了多少個對象。教程通常有一個叫做AppController。完整的應用程序通常具有App Controller或n * XYZController嗎?可可應用程序中有多少種控制器類是典型的?
3
A
回答
4
在非基於文檔的應用程序中,每個窗口一個。我只談論自己編寫的控制器,而不是窗口控制器,視圖控制器,對象控制器,陣列控制器,樹形控制器或字典控制器。 (請注意,有些人確實將自定義控制器設置爲NSWindowController。)我也不計算擁有根控制器的應用程序委託。
在單窗口應用程序中,通常意味着一個自定義控制器。
在基於文檔的應用程序中,通常根本不寫控制器,而是編寫一個或多個NSDocument子類 - 每個文檔類型一個。每個文檔對象通常只擁有一個窗口。
無論您正在編寫什麼樣的應用程序,您可能還想爲任何浮動實用程序面板(例如Inspector)製作控制器,儘管您應該考慮以下替代方案:使面板成爲自己的面板控制器,就像NSFontPanel和NSColorPanel一樣。
1
每個窗口一個,正如Peter Hosey所說的那樣,不是一個壞的策略,但是一個人的窗口是另一個女人的子視圖。我更喜歡在功能集羣中思考:如果需要完成兩個或更多相關的事情,他們可能需要一個控制器。
但是,這是至關重要的,你必須要能夠想到一個好名字的控制器:importController,或textFilesImportController或externalFilesDisplayController的名字是明確什麼特定的控制器會做和不會做。
如果您無法爲控制器想出一個好名字,請將其作爲您不需要它的標誌,或者您對設計仍不清楚。在這種情況下,您可以選擇將其稱爲您的whateverController,直到您的下一個見解閃現出現爲止。
相關問題
- 1. angularjs中可用的限制類型有多少種類
- 2. 具有多種文檔類型的可可基於文檔的應用程序
- 3. 幫助理解多控制器可可應用程序
- 4. 如何使用多種類型的控制器構建應用程序?
- 5. Java MVC Web應用程序中可以存在多少個控制器(servlet)?
- 6. 多用戶類型rails應用程序的控制器方案
- 7. 從可可應用程序控制iTunes
- 8. ASP.NET中有多少種類型的Http處理程序
- 9. C#類可以返回或是多種類型的控件
- 10. 在WinAPI控制檯應用程序中使用多種字體類型
- 11. mongodb中有多少種類型的鎖?
- 12. 多種控制類型
- 13. Rails應用程序中可裁剪的重量是多少?
- 14. Java:可能有多種類型的流?
- 15. iPhone中有多少種類型的URLRequest可用於從WebServices中檢索數據?
- 16. 哪種生活方式可用於控制檯應用程序?
- 17. Hadoop中有多少種InputFormat類型?
- 18. 模型是不可用控制器
- 19. 可可應用程序在控制器之間傳遞對象
- 20. 是否有可能在Windows控制檯應用程序
- 21. iPhone上的應用程序有多少磁盤空間可用?
- 22. Rails應用程序的視圖是否有可能從另一個應用程序擁有控制器?
- 23. 控制檯應用程序中的可靠定時器
- 24. 有多少種類型的Asp.net網站
- 25. 解析器有多少類型可用於android
- 26. 控制網絡中的可可應用程序
- 27. 經典asp中應用程序對象的大小限制是多少?
- 28. Kohana 3是否有類似應用程序控制器?
- 29. Java控制檯應用程序:System.out仍然是一種可行的方式嗎?
- 30. 有多少文本asp:label控件可以容納多少限制?