定义:提供了一个统一接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用
最少知识原则:只和你的密友谈话。
解释:不要让太多的类耦合在一起,免得修改系统中一部分,会影响到其它部分。如果许多类之间相互依赖,那么这个系统就会变得易碎。
例子:
用户在键盘上点击开机键,然后加载CPU,内存,硬盘驱动等信息,但是,客户只点了开机键,其它的执行内容对于客户而言是透明的。流程图如下:
代码:
1. CPU类
/** * * @Description: * CPU类 * @author king * @version 1.0 */ public class Cpu { public void execute(){ System.out.println("CPU正在启动....."); } }
2. 内存类
package com.myplay.facade; /** * * @Description: 内存类 * @author king * @version 1.0 */ public class Memeory { public void execute() { System.out.println("内存正在启动....."); } }
3. 硬盘驱动类
/** * * @Description: * 硬盘驱动类 * @author king * @version 1.0 */ public class HardDriver { //执行的方法 public void execute() { System.out.println("硬盘驱动正在加载....."); } }
4. 键盘类
/** * * @Description: * 键盘类 * @author king * @version 1.0 */ public class KeyBorad { public void clickButton(String command){ if("start".equals(command)){ new Cpu().execute(); new Memeory().execute(); new HardDriver().execute(); } } }
5.客户类
/** * * @Description: * 客户类 * @author king * @version 1.0 */ public class Client { private KeyBorad keyBorad = new KeyBorad(); public void start(){ keyBorad.clickButton("start"); } }
6. 运行类:
/** * * @Description: * 运行类 * @author king * @version 1.0 */ public class Run { public static void main(String[] args) { Client client = new Client(); client.start(); } }
7.运行结果:
CPU正在启动.....
内存正在启动.....
硬盘驱动正在加载.....
以上是我对外观模式的理解。主要就是类的封装。
另,推广一下上班菜鸟技术群:207974203
相关推荐
大话设计模式之外观模式 经典代码 C#类
设计模式_源代码大全.zip 包括:1.简单工厂模式 2.策略模式 3.装饰模式 4.代理模式 5.工厂方法模式 6.原型模式 7.模板方法模型 8.外观模式 9.建造者模式 10.观察者模式 11.抽象工厂模式 12.状态模式 13.适配器模式 ...
30.设计模式之外观模式 31.设计模式之代理模式 32.设计模式之观察者模式 33.设计模式之策略模式 34.设计模式之命令模式 35.设计模式之迭代器模式 36.设计模式之中介者模式 37.设计模式之享元模式 38.设计模式之职责...
java的23种常用设计模式之外观模式,经典的例子解析。
C#设计模式-外观模式
设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:...
外观模式(Facade Pattern) 11. 享元模式(Flyweight Pattern) 12. 代理模式(Proxy Pattern) 行为型: 13. 模板方法(Template Method) 14. 命令模式(Command Pattern) 15. 迭代器模式(Iterator Pattern) 16. 观察者...
Head.First.设计模式.中文版 1 欢迎来到设计模式世界:设计模式入门 模拟鸭子应用 Joe想到继承 利用接口如何? 软件开发的不变真理 ...7 适配器模式与外观模式:随遇而安 8 模板方法模式:封装算法
java设计模式之外观模式
文章:http://blog.csdn.net/hailushijie/article/details/8744778
C# 32种设计模式: 创建型: 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) ...
结构模式:设计模式之Facade(外观),设计模式之Proxy(代理),设计模式之Adapter(适配器),设计模式之Composite(组合),设计模式之Decorator(油漆工),设计模式之Bridge,设计模式之Flyweight(享元). 行为模式:设计模式之...
Java 23种设计模式14外观模式.pdf
总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式...
适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式观察者模式、策略模式、模板模式、责任链模式、解析器模式、迭代子模式 命令模式、状态模式、备忘录模式、访问者模式、中介者模式
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合... 2.设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要... 3.Java的23中...
4.简单工厂,外观模式,适配器模式,单例模式,工厂方法模式,抽象工厂模式,生成器模式,原型模式,中介者模式,代理模式,观察者模式,命令模式,迭代器模式,组合模式,模板方法模式,策略模式,状态模式,备忘录...
设计模式外观模式PPT学习教案.pptx
设计模式—外观模式