物件導向之迪公尺特法則

2022-08-14 07:27:11 字數 1140 閱讀 4783

**:

<?php  

class

teacher

//告訴體育委員開始執行清查任務

$groupleader -> countgirls($listgirls

); }}

class

groupleader }

class

girl

class

client }

client ::doing();

class

teacher }

class

groupleader

//有清查女生的工作

public

function

countgirls() }

class

girl

class

client

$teacher= new

teacher();

//老師發布命令

$teacher -> commond(new groupleader($listgirls

)); }}

client :: doing();

乙個物件應該對其他物件了解最少。

迪公尺特法則的核心就是降低類鍵的耦合,從而提高類的復用性。

具體體現:

① 在類的劃分上,應該建立有弱耦合的類;

② 在類的結構設計上,每乙個類都應當盡量降低成員的訪問許可權;

③ 在類的設計上,只要有可能,乙個類應當設計成不變類;

④ 在對其他類的引用上,乙個物件對其它物件的引用應當降到最低;

⑤ 盡量降低類的訪問許可權;

⑥ 謹慎使用序列化功能(類或介面在客戶端變更,卻未在服務端同步更新,引發序列化失敗,,專案管理易疏忽);

⑦ 不要暴露類成員,而應該提供相應的訪問器(屬性)。

迪公尺特法則主要運用在觀察者模式和中介者模式中

迪公尺特法則的缺點:

1、遵循類之間的迪公尺特法則會使乙個系統的區域性設計簡化,因為每個區域性都不會與遠距離的物件有直接的關聯;但也會造成不同模組之間的通訊效率降低,會使系統的不同模組之間不容易協調。

2、在系統中造出大量的小方法,散落在系統的各個角落。這些方法僅傳遞間接的呼叫,與系統的商務邏輯無關。

物件導向設計原則之迪公尺特法則

迪公尺特法則來自於1987年美國東北大學 northeastern university 乙個名為 demeter 的研究專案。迪公尺特法則又稱為最少知識原則 leastknowledge principle,lkp 其定義如下 迪公尺特法則 law of demeter,lod 乙個軟體實體應當盡...

物件導向設計原則之迪公尺特法則

迪公尺特法則來自於1987年美國東北大學 northeastern university 乙個名為 demeter 的研究專案。迪公尺特法則又稱為最少知識原則 leastknowledge principle,lkp 其定義如下 迪公尺特法則 law of demeter,lod 乙個軟體實體應當盡...

物件導向設計原則之迪公尺特法則

迪公尺特法則來自於1987年美國東北大學 northeastern university 乙個名為 demeter 的研究專案。迪公尺特法則又稱為最少知識原則 leastknowledge principle,lkp 其定義如下 迪公尺特法則 law of demeter,lod 乙個軟體實體應當盡...