●データ構造はツリー型(コンポジット)
●ツリーの操作はITreeで定義
●Treeにて上記インターフェースを実装
●深い継承はしたくない

XXTreeという具体的なデータを持つノードを作成したい。

この場合上記のようにXXTreeを作成すればよいか、
またはTreeを継承して作成したほうが良いのか。

冒頭のXXTreeのつくりの場合、ITreeはTreeとXXTreeで、
別々ではあるが2回継承されている。

包含されるTreeはインターフェースを継承すべきか。

使用目的が明示的になるの継承したほうが良いのか。
パフォーマンスのために継承はしないほうが良いのか。

具体的なデータを持つノードはXX以外にも多数あり、
またそれらはXMLのように互いを子要素として持つこともありえる。

皆様のご意見をいただきたく思います。