Java设计模式之外观模式
来源:互联网 发布:淘宝导航图片 编辑:程序博客网 时间:2024/06/15 07:01
外观模式(facade)
概念:
外观模式就是将类与类之间的关系放在一个Facade类中,降低了类类之间的耦合度。
优点:
类与类之间的关系放在一个Facade类中,起到了解耦的作用
适用:
1.客户端程序与抽象类的实现部分存在着很大的依赖性。引入Facade将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。
2.当你需要构建一个层次结构的子系统时,使用Facade模式定义子系统的每层的入口点。如果子系统之间是相互依赖的,你可以让他们仅通过facade进行通讯,从而简化了他们之间的依赖关系。
示例代码:
/** * 相当于SubsystemOne */public class CPU { public void startup(){ System.out.println("cpu startup!"); } public void shutdown(){ System.out.println("cpu shutdown!"); }}
/** * 相当于SubsystemTwo */public class Disk { public void startup(){ System.out.println("disk startup!"); } public void shutdown(){ System.out.println("disk shutdown!"); }}
/** * 相当于SubsystemThree */public class Memory { public void startup(){ System.out.println("memory startup!"); } public void shutdown(){ System.out.println("memory shutdown!"); }}
/** * 相当于Facade */public class Computer { private CPU cpu; private Memory memory; private Disk disk; public Computer(){ cpu = new CPU(); memory = new Memory(); disk = new Disk(); } public void startup(){ System.out.println("start the computer!"); cpu.startup(); memory.startup(); disk.startup(); System.out.println("start computer finished!"); } public void shutdown(){ System.out.println("begin to close the computer!"); cpu.shutdown(); memory.shutdown(); disk.shutdown(); System.out.println("computer closed!"); }}
/** * 外观模式的测试 * 外观模式就是将多个类的关系放在一个Facade类中,降低了类类之间的耦合度 */public class Test { public static void main(String[] args) { Computer computer = new Computer(); computer.startup(); computer.shutdown(); }}
阅读全文
0 0
- java设计模式之外观
- Java设计模式之外观模式研究
- Java设计模式之外观模式研究
- Java设计模式之外观模式
- Java设计模式之外观模式
- java设计模式之外观模式Facade
- JAVA设计模式之外观模式
- JAVA设计模式之外观(Facade)模式
- 【Java设计模式】之外观模式
- Java--设计模式之外观模式
- java设计模式之外观模式
- java设计模式之外观模式Facade
- 《Java设计模式》之外观模式
- java设计模式之外观模式
- java设计模式之外观模式
- Java设计模式之外观模式
- Java设计模式之-外观模式
- 设计模式之外观模式(Java)
- hdu 1711 kuangbin 字符串 A KMP入门
- 普通类中不创建对象,直接写object的方法
- python3.5《机器学习实战》学习笔记(二):k近邻算法实战
- 494. Target Sum
- 【matlab】利用matlab在图形中绘制箭头、标注、圈圈
- Java设计模式之外观模式
- shellapi.h(55) : error C2065: 'HDROP' : undeclared identifier
- jar打成exe文件
- python 学习while语句中的break&continue
- [一点笔记]查看java架包源文件
- java序列化与反序列化
- 计算机网络常见知识点整理
- SCRUM实践的一个教训
- C++系统学习(3)