2012-04-09 8 views
0

私は自分の会社の在庫タイプシステムを設計していますが、いくつかの種類の製品があります。それらのカップルは、種類の2以上の組み合わせである:オブジェクト指向クラス設計 - ミックスインクラス - 効果的なクラス構造を決定する

ベースタイプ:項目

ミックスインクラス:MA、MB、MC、MAB

派生型

A(MA +アイテム)、

B(MB +アイテム)、

Cである(MC +アイテム)

、パッケージ部品、

A + B(MAB +アイテム)

A + B + C(MAB + C)

*今後この階層にさらに追加する必要があります。

Mixinクラスを使用することを検討していました。ここで、個々の部分は、ItemとMixinクラスから派生しています。私は今までに本当に成功した階層を書くことはなかった。私は本当に誰かがこれがこのようなシステムを設計するのに良いことだと思っていたのかどうか知りたいですか?そうでない場合は、他のアイデアですか?

答えて

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 
関連する問題