设计模式GOF23——外观模式
2016-08-06 22:01
309 查看
外观模式(facade)是结构性模式的一种,也有人称它为门面模式。结构型模式的核心作用是从程序的结构上实现低耦合,从而可以扩大整体的类结构,用来解决更大的问题。
子系统角色:子系统是客户端使用该功能的时候需要调用的对象们。
模式的核心
外观模式的核心就是为子系统提供统一的入口,封装系统的复杂性,便于客户端调用。模式角色
外观角色:在客户端可以调用它的方法,它会把客户端调用需要的操作放在一起,并且封装起来,对外不暴露细节。子系统角色:子系统是客户端使用该功能的时候需要调用的对象们。
模式的实现
//外观角色 public class Tour { //子系统的调用和子系统的操作封装 public void myTour(){ Hotle h = new Hotle(); h.reserve(); Spots s = new Spots(); s.buyTicket(); Transport t = new Transport(); t.buyTickets(); } } //子系统角色 class Hotle{ //子系统角色中需要调用的方法 public void reserve(){ System.out.println("预定本家酒店"); } } //子系统角色 class Spots { //子系统角色中需要调用的方法 public void buyTicket(){ System.out.println("购买了本景点的票"); } } //子系统角色 class Transport{ //子系统角色中需要调用的方法 public void buyTickets(){ System.out.println("购买了来回的车票"); } }
模式的评价
外观模式是设计模式中用的比较多的一个。它非常符合迪米特法则,将操作的具体实现细节隐藏起来,降低耦合,减少复杂度。而且它有利于单一职责原则,让类专注的只做自己这一层次的功能。它还提高了便捷性,客户端无需处理操作的细节中的逻辑,只需要调用外观角色即可。相关文章推荐
- 【GOF23设计模式】_外观模式_公司注册流程_迪米特法则JAVA241
- 设计模式GOF23——访问者模式
- 设计模式GOF23——单例模式
- 设计模式GOF23——代理模式
- GOF23之外观模式Demo
- 设计模式GOF23——组合模式
- 【GOF23设计模式】外观模式
- GOF 23设计模式之 外观模式 迪米特法则
- 设计模式GOF23——克隆模式
- GOF23设计模式之外观模式不使用外观模式的实现
- 四巨头GoF的《设计模式》中23种设计模式的UML图 - 4 of 4
- 四巨头GoF的《设计模式》中23种设计模式的UML图 - 1 of 4
- 23个GOF23设计模式的定义
- 23个GOF23设计模式的定义
- 笔记--设计模式精解c++-GoF 23 种设计模式解析
- GoF23种设计模式之结构型模式之外观模式
- 设计模式――外观模式
- 设计模式(六)外观模式(Facade Pattern)
- GoF23种设计模式之结构型模式之外观模式
- 设计模式C++实现(7)——外观模式、组合模式