我一直在學習越來越多的javascript;這是我工作的必需品。我們有一個使用大量javascript的web應用程序,而且我每天都會做越來越多的事情。我已經閱讀了關於設計模式的點點滴滴,但是想知道是否有人可以給我一個簡單而乾燥的例子和定義。他們是否會對我有益?還是更高一級?JavaScript中的設計模式對您有幫助嗎?他們究竟是什麼?
8
A
回答
11
5
也有是在JavaScript中的book about classic design patterns。你可以從它的網站下載例子。
但是從我的經驗,其obviuosly更難實現與JavaScript的大量項目。
7
其中最實用和易於使用的特定JavaScript的設計模式,我遇到的是Module Pattern,這是一種改性Singleton pattern說:「命名空間」相關的代碼,並阻止全球範圍內從混淆了變量和函數可能在複雜的頁面中彼此衝突。
1
設計模式是與語言無關,我會建議你閱讀關於這一主題的經典書籍之一。我最喜歡的是:
- 由Martin Fowler 企業應用 架構模式(http://www.amazon.com/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420)
- 設計模式:通過 可複用面向對象軟件的元素的 「四人幫」 (http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=sr_1_1?ie=UTF8&s=books&qid=1229278937&sr=1-1)。這是一個經典之作。
但是,這些不是初學者的書籍,你可能會從許多網頁資源和教程中獲得更多的價值(維基百科有一些合理的解釋)。
我自己的經驗是,在JavaScript對象模型是麻煩一點比其他如PHP或Ruby和理解,因此,應用設計模式並不總是那麼容易。像Prototype這樣的庫提供了使繼承更易於使用的功能,這使得以OO方式編程JavaScript變得更容易。
我最近使用JavaScript來實現使用Active Record pattern原型,你可以瞭解更多關於在這裏,如果你想: http://codeinthehole.com/archives/6-Active-record-javascript-objects-using-cookies.html
相關問題
- 1. Ruby中的CSV對象。他們究竟是什麼?
- 2. Javascript超時對象究竟是什麼?
- 3. 數據庫模式究竟是什麼?
- 4. JavaScript中的構造究竟是什麼?
- 5. Javascript中的文檔究竟是什麼
- 6. AngularJS中的模塊究竟是什麼?
- 7. 數據倉庫設計中的星型模式究竟是什麼措施?
- 8. javascript原型的點究竟是什麼
- 9. 究竟是MySQL中的「尾隨空間」究竟是什麼?
- 10. 異步計算究竟是什麼?
- 11. 究竟是什麼「config.assets.debug」設置呢?
- 12. 變量模板究竟是什麼
- 13. 模板引擎究竟是什麼?
- 14. C++模塊究竟是什麼?
- 15. 「句柄」究竟是什麼?
- 16. getGlobalVisibleRect()究竟是什麼?
- 17. Werkzeug究竟是什麼?
- 18. 究竟是什麼@ ViewDebug.ExportedProperty?
- 19. .parentNode究竟是什麼?
- 20. Heroku究竟是什麼?
- 21. session_hash究竟是什麼?
- 22. 究竟是什麼awakeFromNib?
- 23. 究竟是什麼任務
- 24. cout/cin究竟是什麼?
- 25. SKEmitterNode particleLifetime究竟是什麼?
- 26. 代表究竟是什麼?
- 27. 究竟是什麼情景
- 28. 究竟是什麼php.ini memory_limit?
- 29. 資源究竟是什麼?
- 30. App Pool究竟是什麼?