vault backup: 2022-06-21 16:46:00

Affected files:
02. PARA/03. Resources(資源)/Design Pattern.md
This commit is contained in:
2022-06-21 16:46:00 +08:00
parent 5f86679158
commit 2ebac4af16

View File

@@ -200,4 +200,8 @@ class BeverageBlackTea {
};
```
這樣的問題是每當有一種新配料出現我們就要在奶茶類別裡修改至少2個functionaddXXX()與cost()目前我們有3種飲料所以要修改6個function更何況如果客人要加2份珍珠怎麼辦這明顯不利程式的維護必須有一種方法讓程式的修改最小讓寫好的程式不用被修改才行。
這樣的問題是每當有一種新配料出現我們就要在奶茶類別裡修改至少2個functionaddXXX()與cost()目前我們有3種飲料所以要修改6個function更何況如果客人要加2份珍珠怎麼辦這明顯不利程式的維護必須有一種方法讓程式的修改最小讓寫好的程式不用被修改才行。
讓裝飾者模式來改善這個問題。首先讓配料跟飲料有同樣的界面但是修改一下配料的constructor
```c[]
```