几个小时后我有一个考试,我正在尝试为它解决示例问题。我找不到以下问题的解决方案。
画出对应以下情况的类图:
杂货店(例如超市)出售物品。有两种类型的物品:可食用的(即任何可用作食物的物品)和不可食用的。有些物品是按重量出售的,有些是按单位出售的。有些项目是应税的,而有些则不是。有些商品在成组出售时有特价(例如,2 件 3 美元)。一次购买可能包含许多物品。
在您的类图中,仅显示类/抽象类/接口、关联和关联的多重性。不包括任何操作!在您的设计中清楚地指出接口和抽象类(如果有的话)。
此外,您的设计应尽可能 灵活。特别需要注意以下几点:
1) 一个项目要么可食用,要么不可食用,这一事实在项目的生命周期内不会改变,而定价策略可能会在项目的生命周期内改变。
2) 每个定价策略都与一组特定的操作相关联。例如,对于征税策略,无论项目是否应税,我们可能有一个计算税金的操作(此函数可以返回 0 对于非应税项目)
3) 尽管定价策略的操作集保持不变,但处理这些操作的方式可能会随着时间而改变。例如,我们计算可食用和不可食用物品税金的方式可能会随着时间的推移而有所不同。
4)虽然定价策略的操作集在不同的项目中保持不变,但我们可能希望以不同的方式为不同的项目实施这些操作。例如,我们可能希望以不同的方式计算橙子和苹果的税收。
我尝试了类似的方法,认为它可能适合策略设计模式,但我完全不确定。