设计模式之外观模式
外观模式能降低访问复杂系统的内部子系统时的复杂度,简化客户端与之交互的接口,为多个子系统对外提供一个共同的接口。
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就可以访问各个子系统。