更新:由于我们通常会说,“情况将决定任何设计模式是否适合这项工作......”现实生活中的咖啡订购系统是否可以使用装饰模式解决?实施咖啡订购系统时装饰者模式是否过多?
实施咖啡订购系统时装饰者模式是否过多?该Head First设计模式书使用它作为一个例子,但我想我会只使用2个数组或表来实现它:
咖啡类型(法国烤,房子混合等)
另外(焦糖,奶油,肉桂等)
所以它可以是一个price.php中的2个数组,或者DB中的2个表,并读入2个数组。
当顾客订购咖啡时,选择将总结价格。
它看起来像使用装饰模式是相当矫枉过正,或者你认为有充分的理由实际使用这种模式?作为一个例子,我认为这很好,但是如果它看起来像一个真正的生活问题,它可以通过一种简单的方式完全解决,但也可以用一个更复杂的解决方案,它也会感到很奇怪。
+1。 Decorator模式有很好的用途,但Coffee Shop示例似乎只是一个说明性示例,而不是一个工作示例。 – micahtan 2009-06-10 22:41:43