Low of Demeter: 就是最少知識原則。如果兩個類別不該直接通信,那麼這兩個類別就不應當發生直接的相互作用。如果其中一個類別需要調用另一個類別的某一個方法的話,可以透過第三者轉發這個調用。
這其實也包含在MVC架構裏。view由controller控制,而controller也取得model的資料。但model和view彼此無關。這樣view可以reuse, model和view都可以分開維護和發展。
換句話說,軟體有更好的可維護性與適應性。因為某甲較少依賴某乙的內部結構,則可以改變容器(container)而不用改變調用者(caller)。
所以這仍然是基於物件導向的精神產生的原則。
這其實也包含在MVC架構裏。view由controller控制,而controller也取得model的資料。但model和view彼此無關。這樣view可以reuse, model和view都可以分開維護和發展。
換句話說,軟體有更好的可維護性與適應性。因為某甲較少依賴某乙的內部結構,則可以改變容器(container)而不用改變調用者(caller)。
所以這仍然是基於物件導向的精神產生的原則。