共通のメンバー変数とメソッドをリファクタリングして抽象化しようとしているクラスがたくさんあります。
すべてのクラスで目にするメソッドの 1 つは、MethodFoo() というメソッドです。このメソッドには共通の本体がありますが、各クラスにはさらに何かが追加されています..たとえば、あるクラスの場合は次のようになります。
private method MethodFoo()
{
// common stuff ...// wow! a Goto Statement ..seriously! //1
**// NON-common stuff just for the method of this class** //2
Goto: // bunch of COMMON stuff again //3
}
したがって、テンプレートは常に、パート1と3は異なるクラスのこのメソッドと同じですが、eaxchクラスでの違いはパート2です...そして、醜いgotoステートメントも忘れないでください:)
この図を念頭に置いて、この一部を抽象クラスに入れる方法はあると思いますか?