客人到飯店吃飯,飯菜是由大廚做的 根據(jù)迪米特法則,客人不應(yīng)該直接和大廚打交道,而
客人到飯店吃飯,飯菜是由大廚做的
根據(jù)迪米特法則,客人不應(yīng)該直接和大廚打交道,而是通過一個中間人--服務(wù)員來點餐,服務(wù)員再把菜單交給大廚做飯。
具體實現(xiàn)如下:
```java
public class Client {
private Waitress waitress;
public Client(Waitress waitress) {
this.waitress = waitress;
}
public void order() {
waitress.takeOrder();
}
}
public class Waitress {
private Chef chef;
public Waitress(Chef chef) {
this.chef = chef;
}
public void takeOrder() {
//獲取菜單
Listmenu = getMenu();
//把客人點的菜單交給大廚
chef.cook(menu);
}
private ListgetMenu() {
//返回菜單
return Arrays.asList("宮保雞丁", "魚香肉絲", "口水雞");
}
}
public class Chef {
public void cook(Listmenu) {
//做飯
for(String dish : menu) {
System.out.println("正在做:" + dish);
}
System.out.println("飯菜已做好,請用餐。");
}
}
public class Test {
public static void main(String[] args) {
Chef chef = new Chef();
Waitress waitress = new Waitress(chef);
Client client = new Client(waitress);
client.order();
}
}
```