English 中文(简体)
A. 模拟1
原标题:Modelling a Pizza

我试图制定食品秩序申请。 它将从网络服务(原尚未决定)中检索菜单数据,并将其转换成订单表。

I m having trouble working out how to approach pizzas - they are more complicated than anything else as you can choose the size, base, toppings etc.

我想有一个产品类别,我可以为菜单中的每一项目创造产品。 之后,该产品将被授予分级和选择用途。 这样就可以创建一种皮扎、其规模(例如固定/扩大/xl)和一套(选择)的皮条。

在某种程度上,我需要选择目标了解产品规模是怎样的。 我需要这样做,因为抽水可能为普通的皮扎花费5英镑,但大面积为7英镑。 理想的情况是,选择权不会成为Size的一个要素,因为现有的选择与每个规模一样——只有价格变化。

My(可能是错误的)模式类似:

关于我如何能够做到这一点的任何想法?

最佳回答

我建议将Decorator patterns作为起点。

基地式班将有增加粪便、抽取等的特性和方法。 决赛人可以改变基土库的规模。 例如,外加热Pizza decorator将改变规模。 每个校正员应披露计算皮扎成本的功能。 这是因为腐蚀者知道自己的面积。

问题回答

在实际撰写了软件以处理这一问题之后,我发现,有分项目来代表各种选择最为有效。 实质上,允许项目有一套分项目,然后这些分项目可以有更多的分项目等。 每一种选择实际上只是另一个项目(其名称和价格),只涉及另一个项目。 因此,在你的例子中,它可能认为:

Pizza (Item)
|--> Size (ItemSet)
|      |--> Large ($15) (Item)
|      |      |--> Toppings (ItemSet)
|      |             |--> Pepperoni ($7) (Item)
|      |             |--> Anchovies ($7) (Item)
|      |--> Regular ($10) (Item)
|             |--> Toppings (ItemSet)
|                    |--> Pepperoni ($4) (Item)
|                    |--> Anchovies ($4) (Item)
|--> Crust (ItemSet)
       |--> Thin (Item)
       |--> Deep-Dish (Item)

越野物品,每件都有2件(大或经常)物品,其中每件都有自己的沥青,每个物品都有自己的定价。 你们每个项目都有多个项目(很可能需要这些物品)。 我用 cr子显示了这一点。 分项目不必自行定价。 总的说来,定价是附加性的,因此顶级项目(pizza)通常具有基价,然后选择的分项目在基价上加价,因为使用者选择价格。





相关问题
Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

JSON with classes?

Is there a standardized way to store classes in JSON, and then converting them back into classes again from a string? For example, I might have an array of objects of type Questions. I d like to ...

Object-Oriented Perl constructor syntax and named parameters

I m a little confused about what is going on in Perl constructors. I found these two examples perldoc perlbot. package Foo; #In Perl, the constructor is just a subroutine called new. sub new { #I ...

Passing another class amongst instances

I was wondering what is the best practice re. passing (another class) amongst two instances of the same class (lets call this Primary ). So, essentially in the constructor for the first, i can ...

Where can I find object-oriented Perl tutorials? [closed]

A Google search yields a number of results - but which ones are the best? The Perl site appears to contain two - perlboot and perltoot. I m reading these now, but what else is out there? Note: I ve ...

热门标签