物件導向之旅-設計與設計原則

kfhgajofwensjdf發表於2010-11-15

物件導向之旅-設計與設計原則

好的物件導向的開發的目標是:程式碼易複用、可維護性強。

物件導向的設計方法:

1,  資訊專家(Information Expert)

如果某個類擁有完成某個職責所需要的資訊,那麼,這個職責就應該分配給這個類。

2,  創造者(Creator)

如果下列條件被滿足,則就由類A來建立類B:

a, A是B的聚合

b, A是B的容器

c, A持有初始化B的資訊

d, A記錄B的例項

e, A頻繁地使用B

3,  低藕合(Low coupling)

下列情況會使A和B之間產生耦合:

a, A是B的屬性

b, A呼叫B的例項方法

c, A的方法中引用了B,例如B是A方法的返回值或引數

d, A是B的子類,或者A實現了B

關於低耦合,還有一些基本的原則

a, Don’t talk to strangers,不需要進行通訊的兩個物件之間,就不要連線

b,如果A和B已經有了連線,分配A的職責給B不合適的話(違反資訊專家模式),那麼就把B的指責分配給A

c,兩個不同模組的內部類之間不能直接連線

4,  高內聚(High cohesion)

5,  控制器(Controller)

6,  多型(Polymorphism)

7,  純虛構(Pure Fabrication)

8,  間接(Indirection)

9,  受保護的變化(Protected Variations)

相關文章