關於框架設計的幾個原則


  框架使得我們開發應用的速度更快、質量更高、成本更低,這些好處是不言而喻的。框架源於應用,卻又高於應用。設計一個框架最好的方法就是從一個具體的應用開始,以提供同一類型應用的通用解決方案為目標,不斷地從具體應用中提煉、萃取框架!然后在應用中使用這個框架,並在使用的過程中不斷地修正和完善。一個好的框架設計應當采用了一個非常恰當的權衡決策,以使框架在為我們應用提供強大支持的同時,而又對我們的應用作更少的限制。權衡,從來就不是一件簡單的事情,但是有很多框架設計的經驗可以供我們參考。

 

(1)框架不要為應用做過多的假設

  關於框架為應用做過多的假設,一個非常具體的現象就是,框架越俎代庖,把本來是應用要做的事情攬過來自己做。這是一種典型的吃力不討好的做法。框架越俎代庖,也許會使得某一個具體應用的開發變得簡單,卻會給其它更多想使用該框架的應用增加了本沒有必要的束縛和負擔。

 

(2)使用接口,保證框架提供的所有重要實現都是可以被替換的

  框架終究不是應用,所以框架無法考慮所有應用的具體情況,保證所有重要的組件的實現都是可以被替換的,這一點非常重要,它使得應用可以根據當前的實際情況來替換掉框架提供的部分組件的默認實現。使用接口來定義框架中各個組件及組件間的聯系,將提高框架的可復用性。

 

(3)框架應當簡潔、一致、且目標集中

  框架應當簡潔,不要包含那些對框架目標來說無關緊要的東西,保證框架中的每個組件的存在都是為了支持框架目標的實現。包含過多無謂的元素(類、接口、枚舉等),會使框架變得難以理解,嘗試將這些對於框架核心目標不太重要的元素轉移到類庫中,可以使得框架更清晰、目標更集中。

 

(4)提供一個常用的骨架,但是不要固定骨架的結構,使骨架也是可以組裝的

  比如說,如果是針對某種業務處理的框架,那么框架不應該只提供一套不可變更的業務處理流程,而是應該將處理流程“單步”化,使得各個步驟是可以重新組裝的,如此一來,應用便可以根據實際情況來改變框架默認的處理流程。這種框架的可定制化能力可以極大地提高框架的可復用性。

 

(5)不斷地重構框架

  如果說設計和實現一個高質量的框架有什么秘訣?答案只有一個,重構、不斷地重構。重構框架的實現代碼、甚至重構框架的設計。重構的驅動力源於幾個方面,比如對要解決的本質問題有了更清晰准備的認識,在使用框架的時候發現某些組件職責不明確、難以使用,框架的層次結構不夠清晰等。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM