[OOP] 迪米特原則(Law of Demeter)
迪米特原則的目的是解耦合,又稱作『最小知識原則』
用意在簡單化 Object 之間的互動,減少 Object 之間的相依。避免系統太過於複雜,造成未來維護成本提高
也就是在設計一個類別時,這個類別必須對其他方法或屬性知道的越少越好
Law of Demeter 訂出了四條守則,限制一個 Object 內的函式只能呼叫以下這些函式:
- Object 本身的函式( Class 內的成員函式)
- 當作參數傳遞進來的 Object,可以呼叫傳遞進來 Obejct 所提供的函式
- 自行在函式中建立的物件所提供的函式
- Object 中本來就包含的 Object (也就是 HAS-A 的關係)