0
我目前正在使用裝飾模式編寫一個程序。我試圖找出如何限制我可以添加到第一類的裝飾器的數量。如:裝飾模式裝飾器限制
Pizza plainPizza = new PlainPizza;
Pizza sausage = new Sausage(plainPizza);
我怎麼能這樣編碼,我可以限制在我添加的裝飾器的數量。比如,如果我嘗試添加這在以前的代碼的頂部:
Pizza pepperoni = new Pepperoni(sausage);
我怎樣才能防止它允許添加/包辣?
我試圖使用拋出異常,但問題是,我的裝飾器調用它的超類,所以我無法在初始化實例變量之前測試!
你不能。這是裝飾者模式的要點。 –
聽起來更像裝飾者模式不適合你的用例。 –
@XaverKapeller這是我的教授在實驗室裏做的。這是許多任務之一。不知道該怎麼做。我試圖拋出異常,但我不能,因爲在測試count之前我會調用super。 – Cole