ファクトリメソッドパターンのコードは次のとおりです
public abstract class TestAbstract
{
public abstract void MainFunc();
}
public class ClassA : TestAbstract
{
public override void MainFunc()
{
//code for line 1
//code for line 2
//...
Func1();
Func2();
//code for line 10
}
private void Func1() { }
private void Func2() { }
}
public class ClassB : TestAbstract
{
public override void MainFunc()
{
//code for line 1
//code for line 2
//...
Func1();
Func2();
//code for line 10
}
private void Func1() { }
private void Func2() { }
}
現在、ClassA と ClassB の両方の関数 MainFunc には、同じ行がいくつかあります。そして、これらのクラスでコードを繰り返したくありません。MainFunc を TestAbstract クラスに移動しましたが、機能しませんでした。
ここで必要なのは、両方のクラスに対して MainFunc を 1 つだけ持つ方法であり、各クラスで Func1 と Func2 の 2 つの関数を正しく呼び出すことができます。
どうもありがとうございました。