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

[Design Pattern] Facde Pattern 简单案例

时间:2016-05-21 19:06:33      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

Facade Pattern, 即外观模式,用于隐藏复杂的系统内部逻辑,提供简洁的接口给客户端调用,属于结构类的设计模式。我会将其名字理解为,门户模式。

 

下面是 Facade Pattern 的一个简单案例。

Shape 定义一个接口,Circle, rectangle, Square 分别实现 Shape 接口,代表系统内部的一个功能。ShapeMaker 作为一个对外类,提供简洁的接口给外部调用。

技术分享

代码实现:

Shape 接口

public interface Shape {
    public void draw();
}

Circle, Rectangle, Square 具体类实现 Shape 接口

public class Circle implements Shape {

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

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

    @Override
    public void draw() {
        System.out.println(" square draw ");
    }
}

 

ShapeMaker,提供简洁的接口给外部客户端调用

public class ShapeMaker {
    
    private Shape circle;
    private Shape rectangle;
    private Shape square;
    
    public ShapeMaker(){
        this.circle = new Circle();
        this.rectangle = new Rectangle();
        this.square = new Square();    
    }
    
    public void drawCircle(){
        circle.draw();
    }
    
    public void drawRectangle(){
        rectangle.draw();
    }
    
    public void drawSquare(){
        square.draw();
    }
}

演示 Facade Pattern

public class FacadePatternDemo {
    
    public static void main(){
        ShapeMaker shapeMaker = new ShapeMaker();
        shapeMaker.drawCircle();
        shapeMaker.drawRectangle();
        shapeMaker.drawSquare();
    }
}

 

参考资料

Design Patterns - Facade Pattern, TutorialsPoint

 

[Design Pattern] Facde Pattern 简单案例

标签:

原文地址:http://www.cnblogs.com/TonyYPZhang/p/5515162.html

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