當構建應用程序時,設置控制器的最佳方式是什麼?我知道路由,事件監聽器和大多數所有的交互性都應該由控制器來管理,但是我的主控制器已經開始失去控制,並且我不知道如何將我的邏輯最好地分離成單獨的控制器,而不需要讓他們一直「運行」...初始化和解構控制器的最佳實踐
回答
將應用程序全部加載到應用程序啓動時即使使用數千個控制器,也可以使用
數百個
。這是需要時間的視圖渲染。
儘管使用sencha cmd,請確保您的應用程序儘可能最小化並且連接在一起。
在測試中,我創建了1000個簡單的控制器,就像這樣:
Ext.define('app.controller.ControllerN', {
extend: 'Ext.app.Controller',
init: function(application) {
this.control({
buttonN1: {
click: function() {
}
},
buttonN2: {
click:function(){}
},
... 20 listeners
});
}
});
我他們串聯成一個文件,並加載它們在app.js這樣的:
Ext.application({
name:'app',
controllers:[
'Controller0',
'Controller1'
... 1000 controllers
],
launch:function(){}
}
花瀏覽器刷新(Chrome)一秒鐘,直到最後一個控制器的init方法被調用。
我有類似的問題,所以我根據它將支持的業務功能劃分控制器,例如userController執行所有與用戶相關的操作,例如登錄,註銷,更新等,而cartController則執行與購物車有關的所有操作,如添加到購物車,應用優惠券,付款等。由於單個視圖可以具有與不同應用領域相關的許多功能,您可以在多個控制器中將此參考添加到此視圖中,並僅偵聽相應控制器中的相關事件。
好的,你是否將所有的控制器添加到你的主應用程序?你知道如何根據活動視圖來定義你需要哪些控制器嗎? – 2013-05-10 19:00:42
是的,我確實在'Ext.application'' controllers'數組中添加了所有控制器,以便應用程序加載所有這些控制器,並根據控制器的'control'配置找出哪個控制器將偵聽觸發事件。順便說一句,我不明白你的問題:'你知道怎麼根據活動視圖定義你需要哪個控制器嗎?'因爲控制器的'ref' config是我們定義控制器處理哪些視圖的地方。 – ThinkFloyd 2013-05-13 05:39:46
- 1. 初始化通用控制器變量的最佳實踐?
- 2. 初始化文件最佳實踐
- 3. JPA(Hibernate)表初始化,最佳實踐
- 4. EntityManager初始化最佳實踐
- 5. 編程最佳實踐:初始化或不初始化
- 6. Java:聲明和初始化的最佳實踐
- 7. 控制器的最佳實踐emberJS
- 8. 基本控制器的最佳實踐
- 9. AngularJS控制器的最佳實踐
- 10. JavaEE:初始數據的最佳實踐
- 11. 初始成員的最佳實踐
- 12. 架構最佳實踐(模型控制器和圖層)
- 13. 控制最佳實踐
- 14. 最佳實踐控制
- 15. 初始化包含IoC的實例的最佳實踐
- 16. CodeIgniter MVC最佳實踐 - 控制器
- 17. Spring MVC CRUD控制器最佳實踐
- 18. TabBarView多個控制器(最佳實踐)
- 19. 最佳實踐軌控制器
- 20. 最佳實踐訪問控制器
- 21. 的DevExpress的WinForms網格初始化最佳實踐
- 22. 的Team Foundation Server:多個構建控制器最佳實踐
- 23. Angular JS控制器層次結構/繼承的最佳實踐
- 24. 在Swift中初始化UITableViewCells的最佳實踐
- 25. 初始化Objective-C屬性的最佳實踐
- 26. MVC中Hibernate惰性屬性初始化的最佳實踐?
- 27. 初始化數據庫連接的最佳實踐
- 28. 在iPhone上初始化NSString的最佳實踐
- 29. 在Java Swing中初始化代碼的最佳實踐
- 30. Java最佳實踐:控制器中呼叫的最佳數量
如何編寫1000個控制器,每個監聽20個事件?它不會像你想象的那麼快。確實,通常渲染會給你帶來瓶頸,但DeftJS的方式很好。在DeftJs中,您將視圖控制器綁定到視圖實例。在ExtJS控制器中是單身人士。 – catalinux 2013-06-09 15:35:29
@catalinux。更新了我的答案。 Singleton控制器在extjs中工作正常,即使有多個視圖實例。你如何用Deft選擇表單中的所有字段? – 2013-06-25 21:21:52