私は個人的なプロジェクトに取り組んでおり、問題にぶつかってきました。仮想メソッドを持つ静的抽象オブジェクト
私は同じプロパティ、メソッドなどを持つオブジェクトをいくつか持っています。唯一異なるものは、名前、プロパティの値、メソッドの実装です。また、メソッドの共通のデフォルト実装が必要です。すぐに、インターフェイスは問題になりません。
私は、プロパティと "default"メソッドで基本クラスを作成しました。しかし、この基本クラスは抽象クラスである必要があります。これらのメソッドは仮想的なので、オーバーライドすることができます。
私はそれらを静的にする必要がある理由は、オブジェクトが他のオブジェクトのプロパティになるということです。
例えば、上で参照されたオブジェクトは(簡略化のため)objX、objY、objZです。それらはその基底から得られます、objW。
objContainerは完全に無関係のオブジェクトですが、objW、objY、objZのいずれかのインスタンスであるobjW型のプロパティを持っています。
objX、objY、objZはとなります。に変更されます。それらのプロパティはすべて読み取り専用です。したがって、インスタンスobjContainerの複数のオブジェクトには、objX、objY、またはobjZがあります。
public class objContainer1
{
objW processor = new objY;
}
public class objContainer2
{
objW processor = new objY;
}
どうすればよいですか?私はそれらを静的にして、同じオブジェクトの複数のインスタンスを持たないようにしました。
シングルトンを使用しますか?ファクトリーパターン?
これがあれば、どの方向に行くのか分かりません。たぶん私はそれを考えすぎているし、非常に簡単な解決策がある/
ありがとうございました。フォローアップの質問。すべてのオブジェクトが共通コードを持つシングルトンになる場合、個々のシングルトン自体はそのままで、すべてのシングルトンパターンを親から継承する方法はありますか?私は基本的には、派生クラスに各クラスのためにそれを繰り返すことなく実装されたシングルトンパターンを持ってほしい。 – ilyketurdles