欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式---外观模式

程序员文章站 2022-07-13 23:54:04
...

定义

外观模式:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。

 

简单来说,外观模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。

 

案例

/**
 * 形状接口
 */
public interface Shape {
    void draw();
}

 

/**
 * 圆形类
 */
public class Circle implements Shape {

    @Override
    public void draw() {
        System.out.println("This is Circle: draw()...");
    }

}

 

/**
 * 正方形类
 */
public class Square implements Shape {

    @Override
    public void draw() {
        System.out.println("This is Square: draw()...");
    }

}

 

**
 * 矩形类
 */
public class Rectangle implements Shape {

    @Override
    public void draw() {
        System.out.println("This is Rectangle: draw()...");
    }

}

 

/**
 * 外观类
 */
public class ShapeMaker {

    private Shape circle;
    private Shape rectangle;
    private Shape square;

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

    public void drawCircle(){
        circle.draw();
    }
    public void drawRectangle(){
        rectangle.draw();
    }
    public void drawSquare(){
        square.draw();
    }

}

 

public class FacedePatternDemo {

    public static void main(String[] args) {
        ShapeMaker shapeMaker = new ShapeMaker();

        shapeMaker.drawCircle();
        shapeMaker.drawRectangle();
        shapeMaker.drawSquare();
    }

}