码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-11 外观模式(结构型模式)

时间:2016-08-22 18:13:13      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

一  外观模式

  外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。

关键代码:在客户端和复杂系统之间再加一层,这一次将调用顺序、依赖关系等处理好。

使用场景:

JAVA 的三层开发模式

1
、为复杂的模块或子系统提供外界访问的模块。
2、子系统相对独立。
3、预防低水平人员带来的风险。

类图 :

技术分享

 二 实现代码

1 创建接口

Shape.java

public interface Shape {
    void draw();
}

2 创建实现接口的实体类

Rectangle.java

public class Rectangle implements Shape {
    public void draw() {
        System.out.println("Rectangle::draw()");
    }
}

Circle.java

public class Circle implements Shape {
    public void draw() {
        System.out.println("Circle::draw()");
    }
}

Square.java

public class Square implements Shape {
    public void draw() {
        System.out.println("Square::draw()");
    }
}

3 创建一个外观类。

ShapeFacade.java

public class ShapeFacade {
    private Shape circle;
    private Shape rectangle;
    private Shape square;

    public ShapeFacade() {
          circle = new Circle();
          rectangle = new Rectangle();
          square = new Square();
       }

    public void drawCircle() {
        circle.draw();
    }

    public void drawRectangle() {
        rectangle.draw();
    }

    public void drawSquare() {
        square.draw();
    }
}

 

下一篇 设计模式-12 享元模式(结构型模式)

设计模式-11 外观模式(结构型模式)

标签:

原文地址:http://www.cnblogs.com/wangshuo1/p/pattern_11.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!