`
wangkechao.dream
  • 浏览: 44186 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
352630cf-f670-3416-b946-55dec5cd787c
设计模式
浏览量:28968
社区版块
存档分类
最新评论

15.设计模式之外观模式

阅读更多

定义:提供了一个统一接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用

 

最少知识原则:只和你的密友谈话。

 解释:不要让太多的类耦合在一起,免得修改系统中一部分,会影响到其它部分。如果许多类之间相互依赖,那么这个系统就会变得易碎。

 

例子:

            用户在键盘上点击开机键,然后加载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

 


 

  • 大小: 32.4 KB
2
1
分享到:
评论

相关推荐

    大话设计模式之外观模式

    大话设计模式之外观模式 经典代码 C#类

    设计模式_源代码大全.zip

    设计模式_源代码大全.zip 包括:1.简单工厂模式 2.策略模式 3.装饰模式 4.代理模式 5.工厂方法模式 6.原型模式 7.模板方法模型 8.外观模式 9.建造者模式 10.观察者模式 11.抽象工厂模式 12.状态模式 13.适配器模式 ...

    深入理解JavaScript系列.chm

    30.设计模式之外观模式 31.设计模式之代理模式 32.设计模式之观察者模式 33.设计模式之策略模式 34.设计模式之命令模式 35.设计模式之迭代器模式 36.设计模式之中介者模式 37.设计模式之享元模式 38.设计模式之职责...

    设计模式之外观模式

    java的23种常用设计模式之外观模式,经典的例子解析。

    C#设计模式-外观模式

    C#设计模式-外观模式

    java 23种设计模式.zip

    设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:...

    C#设计模式_设计模式_C#_

    外观模式(Facade Pattern) 11. 享元模式(Flyweight Pattern) 12. 代理模式(Proxy Pattern) 行为型: 13. 模板方法(Template Method) 14. 命令模式(Command Pattern) 15. 迭代器模式(Iterator Pattern) 16. 观察者...

    Head.First.设计模式.中文版 1-8章

    Head.First.设计模式.中文版 1 欢迎来到设计模式世界:设计模式入门  模拟鸭子应用  Joe想到继承  利用接口如何?  软件开发的不变真理 ...7 适配器模式与外观模式:随遇而安 8 模板方法模式:封装算法

    java设计模式之外观模式.zip

    java设计模式之外观模式

    设计模式之外观模式案例代码

    文章:http://blog.csdn.net/hailushijie/article/details/8744778

    32种设计模式

    C# 32种设计模式: 创建型: 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) ...

    GoF 23种设计模式的详解与应用

    结构模式:设计模式之Facade(外观),设计模式之Proxy(代理),设计模式之Adapter(适配器),设计模式之Composite(组合),设计模式之Decorator(油漆工),设计模式之Bridge,设计模式之Flyweight(享元). 行为模式:设计模式之...

    Java 23种设计模式14外观模式.pdf

    Java 23种设计模式14外观模式.pdf

    06.设计模式.rar

    总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式...

    java中的设计模式,主要的设计模式

    适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式观察者模式、策略模式、模板模式、责任链模式、解析器模式、迭代子模式 命令模式、状态模式、备忘录模式、访问者模式、中介者模式

    设计模式uml.vsdx

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合... 2.设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要... 3.Java的23中...

    1.什么是设计模式? 2.设计模式是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案 3.说出

    4.简单工厂,外观模式,适配器模式,单例模式,工厂方法模式,抽象工厂模式,生成器模式,原型模式,中介者模式,代理模式,观察者模式,命令模式,迭代器模式,组合模式,模板方法模式,策略模式,状态模式,备忘录...

    设计模式外观模式PPT学习教案.pptx

    设计模式外观模式PPT学习教案.pptx

    设计模式—外观模式

    设计模式—外观模式

Global site tag (gtag.js) - Google Analytics