彈性編程原則(1)
1 SRP
SRP(Single Responsible Principle), 單一職責(zé)原則,這是面對的最基本原則,也是實現(xiàn)彈性設(shè)計的最基本原則。
每個類或接口定義應(yīng)該只包含一種明確的職責(zé),同時僅有一種原因會導(dǎo)致這種定義的修改。一個復(fù)雜的類或接口的定義包含多個責(zé)任,很容易使你的設(shè)計失去彈性,很多因素都會導(dǎo)致這個類或接口的變更,由于它含有多種職責(zé),這就意味著它是多種服務(wù)的提供者,會有多種依賴于它的客戶類,他的變更可能會導(dǎo)致大范圍的變更。
在作者看來,優(yōu)先級最高的是你首先要保證接口的單一職責(zé)及方法的單一職責(zé),接口通常意味可以更換不同的實現(xiàn),為一個接口定義過多的職責(zé)意味著每個實現(xiàn)都會涉及多個職責(zé),這將導(dǎo)致無法實現(xiàn)更小粒度的實現(xiàn)的復(fù)用。
2 面向抽象編成
如果你已經(jīng)讀過GOF的《設(shè)計模式》,你便知道其中每一個模式都是基于此原則的,抽象(或接口)有效的解除了服務(wù)調(diào)用者和服務(wù)提供者間的耦合。
3 使用配置
通過修改配置文件便可以改變系統(tǒng)的某些特性,這種修改的區(qū)別于修改代碼,對于Java,C++而言這種修改是不需要編譯,有的修改甚至可以在運(yùn)行時生效。DSL地運(yùn)用可以使配置更加具有可讀性及更強(qiáng)的描述能力。在設(shè)計時將實現(xiàn)分為配置及框架部分是非常靈活的結(jié)構(gòu)。
蔡超
HP 軟件架構(gòu)師
軟件架構(gòu)顧問
SCEA
IBM Certified Solution Designer for OOA&D vUML2
Chaocai2001@yahoo.com.cn
posted on 2009-09-14 20:28 超越巔峰 閱讀(1462) 評論(1) 編輯 收藏 所屬分類: Design Pattern 、Java EE