Jos*_*son 1 oop design-patterns
设计一个关于食品车的系统.假设你有热狗,薯条和饮料出售,顾客也可以做饭.
1.为这种情况设计一个系统.
2您可以在这里使用哪些设计模式?形容它?
有谁可以给我一些提示?您可以提供简短的想法或详细说明.感谢你们.
可以生成FoodCart的多个实例的FoodCartFactory.
FoodCart是主要的类.
您需要使用IoC,因为购物车应该对所销售的食品类型无动于衷.购物车有一个FoodItem抽象类后代实例的哈希表,代表销售的各种商品.
使用DI也是一个好主意,因为价格可能因位置等而有所不同,因此工厂必须使用控制价格的PolicyManager对象配置购物车.
此外,FoodCartController将确保购物车中备有正确的物品.
您还需要一个CartCustomer对象来表示FoodSale消息的目标,该对象将包含项目,金额和价格(当然包括适当的税金).
您还需要一个名为ProfitMaximizer的类中的业务逻辑,其中计算出售的内容和数量,以便将必要的FoodNeeded消息传递给FoodController.
当然,如果没有某种分析,ProfitMaximizer就无法正常运行,可能在名为FoodStatistics的类中,它跟踪销售,趋势,利润,客户数量等.
您还需要某种诊断支持,由名为FoodCartLogger的类表示,以收集有关诊断和解决问题的信息.
显然,您还需要关注购物车的性能,因此FoodCartPerfMonitor是合法的.
然后,我们不应该跳过这个购物车需要为世界各地的客户提供服务的可能性,所以你显然需要ResourceManager和FoodCartLocalizer.
您还需要一个子系统来根据收入和支出流量跟踪可用资金.我们称之为FoodCartAccountManager.
如果你还有任何利润,它应该自动投资以使收入多样化,所以当然,交易所交易所课程也不会有任何问题.
由于购物车由人操纵,您还需要供应商类.供应商倾向于保持相对较短的时间,因此您将需要使用VendorManager类进行大量的流失.
当然,所有这些课程都是控制一辆车所必需的; 如果您需要设计一个可以处理多个推车的系统,您将不得不添加一些其他组件.但是,从好的方面来看,上面的许多类显然可以处理多个购物车,因此您可以重复使用它们.
我认为这涵盖了基本设计.