本章講解設計模式中外觀設計模式的基本知識
1.概念
迪公尺特法則(law of demeter):又叫作最少知識原則(least knowledge principle 簡寫lkp),就是說乙個物件應當對其他物件有盡可能少的了解,不和陌生人說話。英文簡寫為: lod.
2.未採用外觀設計模式的場景
1)建立相應的工程
其中我們模仿下面的場景,正好樓主今天剛剛辦理完護照,護照的辦理流程:列印申請材料->拍照->辦理->交費
那麼這四步我們可以設計四個類進行操作:
2)編寫相應**
package facade;
public class 辦理人員
}
那麼我們辦理護照就需要編寫如下**:
package facade;
import org.junit.test;
public class testfacade
}
執行結果如下:
那麼如果其他人需要辦理護照的時候,也需要執行這四個方法,顯然與我們的迪公尺特法則背道而馳!
這個時候我們需要採用外觀模式,將這些具體的執行步驟封裝到乙個類方法中,以方便使用者呼叫和後期的方法維護。
3.採用外觀設計模式
1)編寫工具類passportutil
package facade;
/** * 申請護照工具類
* @author jwang
* */
public class passportutil
}
2)採用外觀模式後申請護照
package facade;
import org.junit.test;
public class testfacade
/*** 採用外觀模式
*/@test
public void testfacade()
}
執行結果如下:
其實說白了,外觀模式他就是封裝,封裝,封裝,重要的事情說三遍!!!
Java 設計模式之外觀模式
一 了解外觀模式 1.1 什麼是外觀模式 外觀模式 facade pattern 提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。想要使用外觀模式,我們需要建立乙個介面來簡化和統一包裝乙個子系統的乙個或多個類。外觀模式允許我們讓客戶和子系統之間避免緊耦合...
JAVA設計模式之外觀模式
外觀模式提供統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。注 乙個子系統可以建立多個外觀類 最少知識原則 只和你的密友交談 也就是要減少物件之間的互動,只留下幾個 密友 這個原則可以避免太多的類耦合在一起,導致修改系統中一部分時會影響到其他部分,這樣這個系統需要...
Java設計模式之外觀模式
當系統擁有多個子系統的時候,為了方便客戶使用,結構上封裝一層統一呼叫的外觀,這種模式叫做外觀模式。需求 開機關機的時候,對功能進行封裝 啟動電腦 按一下電源鍵 啟動cpu 啟動記憶體 啟動硬碟 關閉電腦 按一下電源鍵 關閉硬碟 關閉記憶體 關閉cpu 定義cpu類 記憶體類 硬碟類,分別都具有啟動和...