设计架构

问题描述 投票:0回答:1

另外,我对设计有疑问

问题陈述:-

我在车辆类别下定义了子类别:-自行车,汽车,卡车,公共汽车

此外,每四个类别下都有不同的变体

自行车:-运动型,标准型 汽车:- 运动型、标准型、电动型 卡车:- 微型卡车,动力卡车 巴士:- 迷你巴士,交流巴士

我必须根据变体计算价格。例如迷你巴士价格。

问题:- 我应该如何定义类?

  1. 只保留车辆作为一类。
  2. 保留 Vehicle 作为基类,将 bike、car、truck、bus 作为子类,它们应该继承基类。
  3. 将运动自行车作为继承自行车类的类,自行车类将进一步继承车辆类

继 OOPS 和 Solid 之后最好的解决方案是什么。

oop design-patterns solid-principles solid
1个回答
-2
投票

根据我对你的问题陈述的理解,我建议使用“Decorator”设计模式。
这种模式提供了一种灵活的方式来在运行时向对象添加额外的功能,而无需修改底层代码。通过使用 Decorator 模式,您现在和将来都可以创建对象的新变体,而不会违反 SOLID 原则。
您可以在此链接中找到有关模式的信息՝
https://refactoring.guru/design-patterns/decorator

© www.soinside.com 2019 - 2024. All rights reserved.