一 外观模式
外观模式(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(); } }
时间: 2024-09-30 16:40:53