//乙個餐廳中的顧客,點餐,點餐後的各種服務,買單等都是通過服務員(waiter)去完成的,
public
class customer
public
void
myservice()
}//服務員成了顧客和廚師以及餐廳其他人工作人員的樞紐
public
class waiter
public
void
orterservice(string service)
public
void
checkout(string price)
private
void
myservice(string myservice)
}//廚師只需要根據服務員給過來的選單以及一些特別的需求進行烹飪即可
public
class cook
public
void
specialservice(string service)
}
這樣顧客–服務員–餐廳的各種服務都能完美的運轉起來了(當然了哪種小餐館例外了),顧客
享受到了簡單專業顧客體驗,下次就會再次光臨,不用一下跑廚房跟廚師交流,一下到自己去找
其他服務,如茶水等。總之,顧客不需要知道餐館的具體服務,具體運營,廚師的具體做法,我
只是提出我合理的需求,然後通過服務員去為我完成即可。迪公尺特原則就是這樣,對其他的類(如
廚師是如何烹飪的)知道得越少越好。
1.單一職責原則:側重於功能性,乙個類提供乙個或者一組功能。
2.開閉原則:不更改已有的**,通過擴充套件方式來實現新的需求。
3.裡式替換原則:建立乙個規範(抽象),使用時用具體的實現類替換掉這個規範(抽象),保證系統的擴充套件性、靈活性。
4.依賴倒置原則:依賴於抽象(介面或抽象類)程式設計,而不依賴具體的細節實現,
5.介面隔離原則:乙個介面中的方法盡可能的少,以避免實現它的類實現了不必要的方法。
6.迪公尺特原則:讓使用它的類知道它的實現細節越少越好。
六大設計原則 迪公尺特原則
1 開閉原則 2 介面隔離原則 3 依賴倒置原則 4 迪公尺特原則 5 黎克特制替換原則 6 單一職責原則 乙個物件應該對其他物件保持最少的了解。物件導向語言是萬物皆物件,類與類之間互動越頻繁,類與類之間的關係也就越密切,這就是耦合,耦合度越高,當乙個類發生改變時,對另乙個類的影響也就越大。乙個好的...
六大設計原則之迪公尺特法則
定義 乙個類和另乙個類應該保持最小的了解 問題由來 類與類之間的關係越密切,耦合度越大,當乙個類發生變化時,對另乙個類影響也越大。解決方案 盡量降低類與類之間的耦合。總公司員工 class employee public string getid 分公司員工 class subemployee pu...
設計模式之禪之六大設計原則 迪公尺特原則
迪公尺特法則 一 迪公尺特法則定義 迪公尺特法則 law of demeter,lod 也稱為最少知識原則 least knowledge principle,lkp 乙個物件應該對其他物件有最少的了解。通俗地講,乙個類應該對自己需要耦合或呼叫的類知道得最少,你 被耦合或呼叫的類 的內部是如何複雜都...