面向对象的类设计 - Mixin类 - 确定有效的类结构

时间:2012-04-09 00:15:45

标签: c++ oop

我正在为我的公司设计一个库存类型系统,我有几种不同类型的产品。其中一些是两种或更多种类型的组合:

基本类型:项目

Mixin Classes :MA,MB,MC,MAB

派生类型

A(MA +项目),

B(MB +项目),

C(MC +项目)

和打包的部件,

A + B(MAB +项目)

A + B + C(MAB + C)

*我将来需要能够在此层次结构中添加更多内容。

我正在考虑使用Mixin类,其中每个单独的部分都来自Item,以及一个Mixin类。我以前从未真正成功地写过层次结构。我真的想知道是否有人认为这是一个很好的设计这样的系统?如果没有,还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

多重继承可能会导致代码复杂化。

由您决定哪个更简单:

class MyItem : public MA<MB<C> > {}; // I'm not sure how your mixin syntax works.

或:

class MyItem: public A, public B, public C {}; // multiple inheritance