设计模式 - 外观
优质
小牛编辑
143浏览
2023-12-01
外观(Facade)
Intent
提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。
Class Diagram
Implementation
观看电影需要操作很多电器,使用外观模式实现一键看电影功能。
// java public class SubSystem { public void turnOnTV() { System.out.println("turnOnTV()"); } public void setCD(String cd) { System.out.println("setCD( " + cd + " )"); } public void startWatching(){ System.out.println("startWatching()"); } }
// java public class Facade { private SubSystem subSystem = new SubSystem(); public void watchMovie() { subSystem.turnOnTV(); subSystem.setCD("a movie"); subSystem.startWatching(); } }
// java public class Client { public static void main(String[] args) { Facade facade = new Facade(); facade.watchMovie(); } }
设计原则
最少知识原则:只和你的密友谈话。也就是说客户对象所需要交互的对象应当尽可能少。