新しいプロジェクトのインターフェースを書いていますが、アドバイスが欲しいです。
サブクラスを持つクラスがあり、サブクラスがあります。このクラスのツリーは次のようになります。
Class Car
{
Wheels Wheel;
}
Class Wheels
{
Rims Rim;
}
簡単に言うと、1 台の車には 1 つのホイールがあり、1 つのホイールには 1 つのリムがあります。(他のより良い例を作ることはできません、申し訳ありません)。
そこで、ICar、IWheels、および IRim のインターフェイス実装でこの階層を強制したいと考えています。
だから私は(C#で)このようなことをしました:
ICar
{
IWheels Wheel;
}
IWheels
{
IRims Rim;
}
そして、インターフェイスの実装にフィールドを含めることができないというエラーがあります。これは、インターフェイスの設計が間違っているのではないかと思い始めました。インターフェイスの実装にこの種の階層の実装を強制したいと思います。しかし、デザイン パターンとベスト プラクティスに従って、別の方法で行う必要があるのではないでしょうか?
オブジェクトがこの種の階層を強制的に実装するようにシステムを設計する方法を教えてください。
私の質問に正確でないものがあるか、重要な情報が欠けている可能性があります。はいの場合は、コメントで質問してください。