Разница между Фасадом и дизайном Медиатора?
В чем разница между фасадом и шаблоном дизайна посредника. Я хочу понять, какой шаблон проектирования выбрать между этими двумя в каком сценарии. Я просматривал следующие ссылки и нашел их одинаковыми с точки зрения использования.
Шаблон оформления фасада:http://www.tutorialspoint.com/design_pattern/facade_pattern.htm
Шаблон дизайна посредника:http://www.java2s.com/Tutorial/Java/0460__Design-Pattern/CoordinatingYourObjectswiththeMediatorPatterns.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();
}