我通常会遇到一些设计问题,在这些问题中我可以选择通过由子类继承来专门化一个类,或者通过为它定义一个对其进行分类的属性来专门化该类。例如,对于汽车的组件集合,我们可以定义类(例如 Wheel、Tire、Door ... 等),或者我们可以定义一个单独的类“CarComponent”,它有一个名为“Type”的属性枚举中列出不同类型的汽车组件的值。
我们如何比较这两种方法,以及它们各自推荐的设计模式是什么?
谢谢。
我通常会遇到一些设计问题,在这些问题中我可以选择通过由子类继承来专门化一个类,或者通过为它定义一个对其进行分类的属性来专门化该类。例如,对于汽车的组件集合,我们可以定义类(例如 Wheel、Tire、Door ... 等),或者我们可以定义一个单独的类“CarComponent”,它有一个名为“Type”的属性枚举中列出不同类型的汽车组件的值。
我们如何比较这两种方法,以及它们各自推荐的设计模式是什么?
谢谢。