【发布时间】:2018-04-22 08:28:45
【问题描述】:
我正在开发一个基本的披萨程序。该程序使用装饰器模式设计将配料添加到披萨中。
public static void main(String[] args) {
Pizza pizza = new PizzaBakery();
//lets put Onion,Pepper and Salami into pizza:
pizza = new Salami(new Pepper(new Onion(pizza)));}
我的代码运行良好,并设法创建比萨饼并放上它的配料。 问题是,我将从输入文件中获取披萨和浇头订单。
输入文件示例:
AddTopping 7 HotPepper Soudjouk Salami(7 是披萨的 ID)
AddTopping 1 HotPepper Onion
.....
并且必须嵌套添加浇头到披萨中(例如 new Salami(new Pepper(new Onion(pizza))) )。有什么不同的方式/方法可以使用而不是编写许多 if- else 语句?
编辑:文件中将有 4 种不同的浇头,一个披萨最多可以包含 3 种浇头。
【问题讨论】:
-
使用反射从其名称创建类实例。 stackoverflow.com/questions/7495785/…
-
谢谢,看起来像我要找的东西
标签: java design-patterns