【发布时间】:2011-12-22 19:02:15
【问题描述】:
我正在尝试创建一个食品订购应用程序。它将从 web 服务接收菜单数据(格式尚未确定),并将其转换为订单。
我无法弄清楚如何处理比萨饼 - 它们比其他任何东西都更复杂,因为您可以选择大小、底料、浇头等。
我想要一个 Product 类,我可以为菜单中的每个项目创建它。然后,该产品将被赋予 Size 和 Option 类的对象。这允许创建比萨饼,设置其大小(例如常规/大/xl)和一组浇头(选项)。
不知何故,我需要 Option 对象知道 Product 的 Size 是多少。我需要这样做,因为普通比萨的浇头可能要花费 5 英镑,但同样的浇头要花费 7 英镑来制作大披萨。理想情况下,Option 不会是 Size 的一个元素,因为每种尺寸的可用选项都保持不变——只有价格会发生变化。
我的(可能是错误的)模型如下所示:http://yuml.me/diagram/scruffy/class/%5BPizza%5D-%3E%5BToppings%5D,%20%5BPizza%5D-%3E%5BSize%5D
关于如何实现这一点的任何想法?
【问题讨论】:
-
为什么不把 size 作为 Product 类的属性之一?
-
这真的取决于你想用披萨做什么。