私はこのような単純な工場パターンを使用します:
public class Father
{
public virtual int field1;
public virtual int Dosth()
{
}
}
public class Son:Father
{
//inherit field1 from Father
public override int Dosth();//override Father's method
public string ex_field;
public string string Ex_method()
{
}
}
public class Factory
{
public static Father CreateObj(string condition)
{
switch(condition)
{
case("F"):
return new Father();
case("S"):
return new Son();
default:
throw new exception("you have no choice");
}
}
}
コードでは、ファクトリ クラスとして抽象クラスの代わりに実際のクラスを使用します。クラスSonはFather Classベースで何かを展開するだけなので(ほとんどのコンテキストはfather'sを使用できます).FatherとSonがそれぞれ抽象クラスを継承する場合.Class sonはFatherのフィールドとメソッドを継承できません. 私の質問は次のとおりです。フローとして書くと、将来、何か良くないことが起こりますか(気分が悪いが、より良いものを見つけることができません)?より良い方法はありますか?