我正在構建一個相當大的Web應用程序,並使用經典插件模式構建了一些插件。其中一些超過50行並保持狀態。我最近發現jQuery UI的widget factory,看來如果我要將我的插件轉換爲這種風格,代碼將更易於閱讀和維護。除了時間和精力之外,我正試圖確定是否存在將其轉換的缺點。我已經爲其他插件使用jQuery UI。我應該將我的jQuery插件轉換爲使用jQuery UI的Widget Factory嗎?
6
A
回答
4
我決定將其中一個更復雜的有狀態插件轉換爲使用jQuery Widget工廠。有一點學習曲線,我相信這些好處是合理的。雖然我沒有利用主題滾筒支撐,這裏有一些我認爲有用的其他好處:
- 狀態管理
- 暗示this.each()
- 清潔回撥機制
- 簡單的API設置和設置的選項
- 公共和私有方法之間在視覺上明顯的區別
顯然,就可以實現所有的這些與傳統的插件模式。但是代碼看起來更清晰,並且在較長時期內更容易維護。非常感謝Eric Hynds和他的MuliSelect Widget提供的源代碼,供我學習和學習如何使用Widget Factory。
2
應該不是問題。
如果您已經依賴jQuery UI,那麼沒有任何缺點。
使用良好的框架功能比實現自己的更好(大部分時間)。經過良好測試,代碼少,並且通常會促進更好的設計。
0
如果您不想嘗試使用widget工廠的附加功能,那麼確實沒有必要這樣做。你需要真正地評估是否做出這種轉換將提供除了更多工作以外的任何優勢。
如果沒有改變你的代碼的好處,不要這樣做。像babiker在他的評論中指出的,你最好花時間在應用程序結構上。
+0
你做得很好。但仔細觀察小部件工廠後,它爲插件開發人員提供了相當多的功能,從而最終實現了更簡潔的代碼。 – rhoeting 2010-12-22 10:59:56
5
走過這些幻燈片:http://ajpiano.com/widgetfactory/
他們會給你的小工具廠,一個夢幻般的概述,爲什麼你應該使用它,以及如何。
相關問題
- 1. jQuery UI Widget Factory和原型?
- 2. 使用jQuery UI Widget Factory開發用於Bootstrap的UI組件
- 3. 推薦使用jQuery UI刪除事件的方法UI Widget Factory
- 4. 我應該使用jQuery-UI-Map插件嗎?
- 5. jQuery UI Widget Factory中的實時綁定事件使用this._on()
- 6. 全局變量與jQuery Widget Factory插件?
- 7. 將.MSG文件轉換爲.TXT;我應該使用Microsoft.Interop Outlook嗎?
- 8. 將所有按鈕轉換爲不帶JavaScript的jQuery UI Button Widget
- 9. jquery widget factory - 我可以在_create或widget外部聲明全局變量嗎?
- 10. 我應該將我的SQLite類轉換爲單例嗎?
- 11. jQuery Widget Factory _trigger實例
- 12. jQuery Widget Factory - _setOption方法
- 13. 我應該使用jQuery模板嗎?
- 14. 我應該使用jQuery對話框嗎?
- 15. 我應該如何使用jQuery UI設計我的h1標題
- 16. 我該如何替換使用'on'的Jquery插件調用?
- 17. jquery - 如何使用widget-factory插件中的參數調用函數?
- 18. 我應該使用哪個jquery UI CSS文件
- 19. 我應該將我的MySQL數據庫轉換爲JSON文件嗎?
- 20. JQuery的UI使用我使用JQuery UI這JQuery的
- 21. JQuery UI:可排序 - 我應該使用哪個事件?
- 22. 我應該將Entity(Persistent)對象轉換爲DTO對象嗎?
- 23. jquery UI Multiselect Widget
- 24. 我應該版本控制我的jQuery插件的縮小版本嗎?
- 25. 我應該使用什麼jQuery工具提示插件?
- 26. 將jquery插件轉換爲Javascript
- 27. 將JQuery插件轉換爲AngularJS指令?
- 28. 將jQuery插件轉換爲AngularJS指令
- 29. 將jquery代碼轉換爲插件
- 30. 我應該將jquery腳本轉換爲對象還是讓它成爲對象?
「我正在構建一個相當大的Web應用程序,並使用經典插件模式構建了一些插件」,您應該專注於構建應用程序而不是插件。 – Babiker 2010-12-18 02:30:42
確實如此,但插件已成爲應用程序中非常重要的部分,未來可能需要增強。 – rhoeting 2010-12-18 02:48:46