【发布时间】:2015-06-10 20:44:29
【问题描述】:
外观和中介设计模式有什么区别。我想了解在哪种情况下在这两者之间选择哪种设计模式。我正在浏览以下链接,发现两者在用例方面相同。
外观设计模式:http://www.tutorialspoint.com/design_pattern/facade_pattern.htm
我对以下两种设计模式看起来相似的代码段感到困惑。
门面类:
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 Mediator {
Welcome welcome;
Browse browse;
Purchase purchase;
Exit exit;
public Mediator() {
welcome = new Welcome(this);
browse = new Browse(this);
purchase = new Purchase(this);
exit = new Exit(this);
}
public void handle(String state) {
if (state.equals("welcome.shop")) {
browse.execute();
} else if (state.equals("shop.purchase")) {
purchase.execute();
} else if (state.equals("purchase.exit")) {
exit.execute();
}
【问题讨论】:
标签: java design-patterns facade mediator