Luckylau's Blog

设计模式之门面模式

​ 门面模式(Facade Pattern)用于隐藏系统的复杂性,并向客户端提供一些简化访问方法和对现有系统类方法的委托调用。这种类型的设计模式属于结构型模式,用来隐藏系统的复杂性。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Shape.java
public interface Shape {
void draw();
}
# Circle.java
public class Circle implements Shape {
public void draw() {
System.out.println("Draw a circle.");
}
}
# Rectangle.java
public class Rectangle implements Shape {
public void draw() {
System.out.println("Draw a ectangle.");
}
}
# Triangle.java
public class Triangle implements Shape{
public void draw() {
System.out.println("Draw a triangle.");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
public class ShapeDrawer {
private ShapeDrawer() {}
public static void drawCircle() {
new Circle().draw();
}
public static void drawTrangle() {
new Triangle().draw();
}
public static void drawRectangle() {
new Rectangle().draw();
}
}

​ 门面模式更多是一种设计思想,而不是具体模型。目的是为子系统中的一组接口提供一个一致的界面,通过定义一个高层接口,降低访问复杂系统的内部子系统时的复杂度,使得这一子系统更加容易使用。

Luckylau wechat
如果对您有价值,看官可以打赏的!