设计模式之外观模式

外观模式能降低访问复杂系统的内部子系统时的复杂度,简化客户端与之交互的接口,为多个子系统对外提供一个共同的接口。

1、多个子系统

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

2、定义Facade

public class ShapeFacade {
    private Circle circle;
    private Rectangle rectangle;
    private Square 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();
    }
}

3、测试

public class _Test {
    public static void main(String[] args) {
        ShapeFacade shapeMaker = new ShapeFacade();
        shapeMaker.drawCircle();
        shapeMaker.drawRectangle();
        shapeMaker.drawSquare();
    }
}

 

通过ShapeFacade就可以访问各个子系统。

posted @ 2020-12-08 13:14  _Gateway  阅读(57)  评论(0编辑  收藏  举报