私の最初のインターフェースベースのプログラミング時間と、インターフェースの設計方法に関するいくつかの混乱。
次のように、2つのノード間の関係のインターフェイスを作成しました。
public interface IOWLRelation
{
IOWLRelation AddSubClass(IOWLClass parent, IOWLClass child);
}
次に、次のように、このインターフェイスを実装するためのクラスを作成しました。
class OWLRelation: IOWLRelation
{
public OWLClass Parent { get; set; }
public OWLClass Child { get; set; }
public IOWLRelation AddSubClass(IOWLClass parent, IOWLClass child)
{
this.Parent = (OWLClass) parent;
this.Child = (OWLClass) child;
return this;
}
}
まず第一に、私がこれらのクラスとインターフェースを宣言した方法に悪い習慣があると思いますか?今、私の混乱は、クラスで定義した2つのパブリックプロパティについてです。インターフェイスでもそれらを定義する必要がありますか?また、このクラスに列挙型メンバーを追加したい場合はどうなりますか?クラスに追加するものは何でも、そのインターフェイスにも追加する必要がありますか?
メソッドの実装でさらに重要なのは、そのメソッドのパラメーターにインターフェイスを渡すことです。それは悪いですか、それとも正しいですか?インターフェイスを渡す必要がありますか、それとも実際のクラスを渡す必要がありますか?