我正在讀頭第一個設計圖案書,裝飾者部分。我無法理解這本書的一部分:裝飾者圖案,頭先
「那豈不是容易的飲料的一些 客戶落得 一個裝飾是不是最外層 裝飾一樣,如果我有一個在DarkRoast與 摩卡,大豆和鞭子,這將很容易 編寫的代碼,以某種方式結束了 與大豆而不是鞭子, ,這意味着它不包括鞭子在 命令。
任何機構都可以幫助我理解本節的主要內容? 首先提到它的問題是什麼? 謝謝
我正在讀頭第一個設計圖案書,裝飾者部分。我無法理解這本書的一部分:裝飾者圖案,頭先
「那豈不是容易的飲料的一些 客戶落得 一個裝飾是不是最外層 裝飾一樣,如果我有一個在DarkRoast與 摩卡,大豆和鞭子,這將很容易 編寫的代碼,以某種方式結束了 與大豆而不是鞭子, ,這意味着它不包括鞭子在 命令。
任何機構都可以幫助我理解本節的主要內容? 首先提到它的問題是什麼? 謝謝
我想他們想指出的是,如果您不小心在哪裏以及如何創建裝飾物體,可以將參考文獻混淆。考慮一下第98頁的例子(2004年的第一版)。
Beverage beverage3 = new HouseBlend();
beverage3 = new Soy(beverage3);
beverage3 = new Mocha(beverage3);
beverage3 = new Whip(beverage3);
如果你想在創作的這些步驟之間做些什麼,你可能會得到一個沒有鞭子的摩卡。
而且,就像他們在回答部分寫道:
然而,裝飾通常通過使用其他模式,比如工廠和Builder創建。
如果您自動創建對象,它可能會阻止您發生引用錯誤。
你能舉個例子來說明「在兩者之間做什麼」意味着什麼? (第二版/ 10週年紀念版現在是第100頁的例子) – hamena314
這真是一個糟糕的解釋。忽略它。裝飾者只是一個包裝 - 這就是它的一切。 – alfasin