设计模式之外观模式(Facade)
来源:互联网 发布:哥本哈根协议 知乎 编辑:程序博客网 时间:2024/04/29 04:24
出自《大话设计模式》
外观模式(Facade):为子系统中的一组接口提供一个一致的接口,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式(Facade)结构图:
源代码:
class SubSystemOne{public void MethodOne(){System.out.println("子系统方法一");}}class SubSystemTwo{public void MethodTwo(){System.out.println("子系统方法二");}}class SubSystemThree{public void MethodThree(){System.out.println("子系统方法三");}}class SubSystemFour{public void MethodFour(){System.out.println("子系统方法四");}}外观类
class Facade{SubSystemOne one;SubSystemTwo two;SubSystemThree three;SubSystemFour four;public Facade(){one = new SubSystemOne();two = new SubSystemTwo();three = new SubSystemThree();four = new SubSystemFour();}public void methodA(){System.out.println("方法组A");one.MethodOne();two.MethodTwo();four.MethodFour();}public void methodB(){System.out.println("方法组B");two.MethodTwo();three.MethodThree();}}客户端调用:
public class test{public static void main(String[] args){Facade facade = new Facade();facade.methodA();facade.methodB();}}
外观模式遵循的法则:
外观模式应用了依赖倒转原则和迪米特法则
何时使用外观模式:
1、 设计之初的分层:
在数据访问层和业务逻辑层、业务逻辑层和表示层的层与层之间建立外观模式
2、 开发阶段
使用外观模式暴露接口,减少代码之间的依赖
3、 维护阶段的扩展功能
使用外观模式,为新系统设计一个外观类,来提供设计粗糙或高度复杂的遗留代码的比较清晰的简单接口,让新系统与外观类交互,Façade与遗留代码交互所有复杂的工作。
0 0
- 设计模式之Facade(外观)
- 设计模式之Facade(外观)
- 设计模式之Facade (外观)
- 设计模式之Facade模式(外观模式)
- 设计模式之Facade外观模式
- 设计模式之Facade(外观)模式
- 设计模式之外观(Facade)模式
- 设计模式学习之---Facade(外观)模式
- 设计模式之Facade-外观模式
- 设计模式之八、外观模式Facade
- 设计模式之(五)外观模式Facade
- 设计模式之外观模式(Facade)
- 设计模式之外观模式(Facade Pattern)
- 设计模式之九 --- 外观(Facade)模式
- 浅学设计模式之外观<Facade>模式
- 设计模式之外观模式 facade
- 设计模式之外观模式Facade
- 【设计模式】之外观模式(Facade)
- 第三方支付平台支付接口及回调接口开发
- STL与泛型编程<四>:List
- 并查集
- 写给自己
- 工厂模式
- 设计模式之外观模式(Facade)
- 安卓手机恢复大师镜像存储的使用教程
- poj 2533 dp
- Java中equals、==、hashcode的区别
- 200年后的设计
- 半透模型内部的深度显示问题
- 关于PHP框架
- 详解Python中的下划线
- 使用Arduino读取噪声传感器分贝值