我在某处读到 C++ OOPS 编程方式是“在工厂中构建对象,在逻辑中连接它们”。
我正面临一个应用程序设计问题。考虑有几个继承层次结构(有或没有虚函数): -
Engine
/\
/ \
Diesel Petrol
/\ /\
/ \ / \
2Cyl 4Cyl 2Cyl 4Cyl
Audio
/\
/ \
2Deck 4Deck
Tyres
/\
/ \
15Inch 17Inch
/\ /\
/ \ / \
tubeless Tube Tube Tubeless
and more.... (System is scalable and new hierarchy may be added later on)
现在我有了这个应用程序界面,其中“汽车”对象是以挑选风格构建的,比如什么引擎类型?什么类型的座位?什么类型的音频?等等
任何想法,我如何设计这个系统,以便创建的“汽车”对象是:-
- 与所有零件层次结构不紧密耦合 支持向已创建的汽车添加新层次结构:假设我创建了一个“汽车”对象,轮胎为无内胎,后来在轮胎层次结构中有一个新的继承,我应该能够配置现有的'具有新轮胎类型的汽车对象。
换句话说,我喜欢将对象层次结构留给类设计,将对象创建留给工厂层,将布线留给逻辑层。
有什么建议么。