設計模式 迪公尺特法則

2021-09-01 18:58:55 字數 2133 閱讀 3704

設計模式 迪公尺特法則

only talk to your immediate friends 只與直接的朋友通訊。即每個物件都有耦合關係,物件之間有耦合。

定義老師類

public class teacher

// 然後進行查詢任務

groupleader.countgirls(listgirls);

}}

然後定義體育文員,清查學生

public class groupleader

}

定義學生類

public class girl
最後定義場景

public class client

}

上方**的問題,teacher類有乙個朋友類,即groupleader,並且girl類出現在commond方法體內,不屬於朋友類。

朋友類:出現在成員變數,方法的輸入引數中的類稱為成員朋友類,出現在方法內部的類不屬於朋友類,

迪公尺緹法則 乙個類,只和朋友交流。不能和非朋友交流。但是剛剛定義的commond於girl類有交流,即宣告了list陣列,即與陌生的girl類有交流

修改如下

修改後的老師類

public class teacher

}

體育委員

public class groupleader

// 進行學生數量的清理

public void countgirls()

}

定義場景

public class client

teacher teacher = new teacher();

// 發布命令

teacher.commond(new groupleader(listgirls))

}}

總結, 類與類之間的關係是建立在類之間,乙個方法中不要引入乙個類中不存在的物件。

乙個軟體安裝的過程

first定義第一步,second定義第二步,third定義第三 步。

public class wizard

// 第二步

public int third()

// 第三步

public int third()

}

最後定義installsoftware

public class installsoftware

}

最後定義場景

public class client

}

根據迪公尺特法則,兩個類之間知道的越少越好,wizard類的太多方法被installsoftware使用,兩者的關係過於親密,修改後如下

// 對外只提供了乙個installwizard方法

public void installwizard()

}

public class insatllsoftware

}

場景類

public class client

}

如果乙個方法放在本類中,即不增加類間關係,也不會對本類不產生負面影響,那就放置在本類中。

設計模式 迪公尺特法則

一,概述 迪公尺特法則 law of demeter 又叫作最少知識原則 least knowledge principle 簡寫lkp 就是說乙個物件應當對其他物件有盡可能少的了解,不和陌生人說話。英文簡寫為 lod 如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接相互作用。如果其中乙個類...

設計模式 迪公尺特法則 Lod LKP

迪公尺特法則 law of demeter,lod 也稱最少知識原則 least knowledge principle,lkp 理解 如果兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個放發的話,可以通過第三者 這個呼叫。每個物件都必然會與其他...

設計模式系列 迪公尺特法則

問題由來 類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類的影響也越大。解決方案 盡量降低類與類之間的耦合。自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模組之間的耦合盡量的低,才能提高 的復用率。低...