1 SRP
SRP(Single Responsible Principle), 單一職責原則,這是面對的最基本原則,也是實現彈性設計的最基本原則。
每個類或接口定義應該只包含一種明確的職責,同時僅有一種原因會導致這種定義的修改。一個復雜的類或接口的定義包含多個責任,很容易使你的設計失去彈性,很多因素都會導致這個類或接口的變更,由于它含有多種職責,這就意味著它是多種服務的提供者,會有多種依賴于它的客戶類,他的變更可能會導致大范圍的變更。
在作者看來,優先級最高的是你首先要保證接口的單一職責及方法的單一職責,接口通常意味可以更換不同的實現,為一個接口定義過多的職責意味著每個實現都會涉及多個職責,這將導致無法實現更小粒度的實現的復用。
2 面向抽象編成
如果你已經讀過GOF的《設計模式》,你便知道其中每一個模式都是基于此原則的,抽象(或接口)有效的解除了服務調用者和服務提供者間的耦合。
3 使用配置
通過修改配置文件便可以改變系統的某些特性,這種修改的區別于修改代碼,對于Java,C++而言這種修改是不需要編譯,有的修改甚至可以在運行時生效。DSL地運用可以使配置更加具有可讀性及更強的描述能力。在設計時將實現分為配置及框架部分是非常靈活的結構。
蔡超
HP 軟件架構師
軟件架構顧問
SCEA
IBM Certified Solution Designer for OOA&D vUML2
Chaocai2001@yahoo.com.cn