为什么选择Dojo - 记Dojo中文博客正式开张
公告欄里寫到:Dojo的高門檻一旦跨過,必將別無所求。含義有二:第一,Dojo難學;第二,Dojo很強大。
這也揭示了本博客的目標:幫助大家用好Dojo這個優秀的Ajax框架。
?
在回答為什么選擇Dojo之前,我們看看哪些人已經選擇了Dojo:
既然能被眾多著名IT公司支持,Dojo必然有它的獨特之處,那就是:架構。
?
一個穩定、可擴展、可維護的架構是所有高質量應用的基石。如果所有人都按自己的思路隨心所欲的寫代碼,那就不會有那么多軟件方法學,設計模式的存在。Dojo在一定程度嚴格規定了這樣的開發規則,這也是很多人難以上手的原因。
?
以典型的數據,邏輯,表現的三層架構為例,來看看Dojo中樹(Tree)是如何設計的:
樹形結構是各種開發最常用的一個組件,其本質是:一種數據表現視圖,負責處理用戶交互(邏輯)和內容展示(表現),不存儲任何數據。Dojo中的樹完全符合這樣的本質,所有數據的存儲和對數據的操作都是通過專門的DataStore來實現。
?
因此,當我們習慣性的想用Tree.addNode(text)這樣的方法去增加一個節點時時,卻發現方法不存在。而正確的做法是:通過DataStore來增加一條數據,Tree會自動的更新數據的變化到界面。修改刪除節點也是同樣的邏輯,甚至節點的按需載入(Lazy Load)也是DataStore的邏輯,而不是Tree的。這實現了數據層的分離。
?
同樣,當我們習慣性的想給一個樹節點的icon屬性指定一個圖片路徑,來改變節點的圖標,這在我們需要根據節點內容決定圖標時很常用。但我們卻會發現無法找到這樣的API。正確的做法是派生一個新類,重寫getIconClass方法去改變節點的CSS Class,再通過CSS來指定節點的圖標。這實現了表現層的完全分離。
?
顯然,這個Tree很難用。要創建一個樹,我們首先得學會DataStore,熟悉它的API;還得知道如何從Dojo的Tree去派生新類來重寫方法,這又要去了解整個Dojo的類的繼承機制。很多人開始抱怨,Dojo真難用。但其實只要前進一步,就會海闊天空。
?
表面上看,這些架構和模式,增加了開發難度。而實際上,它卻增加了代碼的健壯性和可維護性。在這樣一個實際開發代碼只占整個項目時間10%的沒有銀彈的時代,架構才是提升整個軟件質量的關鍵。良好的架構,可以大大降低整個項目的風險。而從Dojo中,我們能夠潛移默化的學習到Ajax應用應該如何去設計。
?
很多時候,最好的選擇就是自己最熟悉的工具。但如果恰好這個最熟悉的工具又是一個強大的工具,那將事半功倍。當你需要去開發一個長期的或者大量使用Ajax的應用,Dojo將是最好的選擇。
?
從熟悉到習慣之后就會發現,Dojo的門檻其實并不高。
?
?
by Nate,2010-6-12
?
轉載于:https://www.cnblogs.com/springside6/archive/2010/06/12/2525430.html
總結
以上是生活随笔為你收集整理的为什么选择Dojo - 记Dojo中文博客正式开张的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】首次敏捷项目开发实践
- 下一篇: 关于几本模拟IC设计书