设计模式GOF23——外观模式
来源:互联网 发布:开淘宝店收益怎么样 编辑:程序博客网 时间:2024/06/05 17:39
外观模式(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("购买了来回的车票"); }}
模式的评价
外观模式是设计模式中用的比较多的一个。它非常符合迪米特法则,将操作的具体实现细节隐藏起来,降低耦合,减少复杂度。而且它有利于单一职责原则,让类专注的只做自己这一层次的功能。它还提高了便捷性,客户端无需处理操作的细节中的逻辑,只需要调用外观角色即可。
0 0
- 设计模式GOF23——外观模式
- 【设计模式】—Gof23种设计模式
- 设计模式GOF23——工厂模式
- 设计模式GOF23——克隆模式
- 设计模式GOF23——适配器模式
- 设计模式GOF23——代理模式
- 设计模式GOF23——组合模式
- 设计模式GOF23——装饰模式
- 设计模式GOF23——迭代器模式
- 设计模式GOF23——策略模式
- 设计模式GOF23——状态模式
- 设计模式GOF23——观察者模式
- 设计模式GOF23——备忘录模式
- 设计模式GOF23——访问者模式
- 设计模式GOF23——命令模式
- GOF23设计模式之外观模式之实现
- 设计模式—外观模式
- 设计模式—外观模式
- HDOJ 5806 NanoApe Loves Sequence Ⅱ
- 数据分布不均匀走HASH JOIN导致的性能问题
- Tomcat源码阅读之实例化Container
- Muduo库的框架剖析及总结(三)
- LINUX下的硬盘管理
- 设计模式GOF23——外观模式
- 接口数据的缓存及Linux定时缓存数据
- 【一天一道Leetcode】#203.Remove Linked List Elements
- 【算法】(扩展)KMP+manacher
- Spring整理系列(03)——spring容器ApplicationContext初始化(spring应用上下文初始化)
- HDU 1171 Big Event in HDU(DP)
- HDU 5794 A Simple Chess(多校,dp,容斥)
- 不同系统如何安装 Git
- 2016-8-6夏令营总结(kmp,回文串,扩展kmp)