另外,我对设计有疑问
问题陈述:-
我在车辆类别下定义了子类别:-自行车,汽车,卡车,公共汽车
此外,每四个类别下都有不同的变体
自行车:-运动型,标准型 汽车:- 运动型、标准型、电动型 卡车:- 微型卡车,动力卡车 巴士:- 迷你巴士,交流巴士
我必须根据变体计算价格。例如迷你巴士价格。
问题:- 我应该如何定义类?
继 OOPS 和 Solid 之后最好的解决方案是什么。
根据我对你的问题陈述的理解,我建议使用“Decorator”设计模式。
这种模式提供了一种灵活的方式来在运行时向对象添加额外的功能,而无需修改底层代码。通过使用 Decorator 模式,您现在和将来都可以创建对象的新变体,而不会违反 SOLID 原则。
您可以在此链接中找到有关模式的信息՝
https://refactoring.guru/design-patterns/decorator