0

私はデザインパターンに比較的慣れていないので、デザインパターンが最も難しい部分であり、ソフトウェアデザイン全体のトップレベルであるように思われます(間違っている場合は修正してください)。

現在、いくつかの機能が埋め込まれた大きなクラスがあり、いくつかの機能をサブクラスにリファクタリングしたいと思います。ただし、これらのサブクラスのほとんどは、前のコード出力からの出力をコンストラクター入力として使用します。これは私を混乱させます。この状況をデザインパターンにどのように実装する必要がありますか?または、この依存関係の状況を回避する必要がありますか?

以下は私のクラスの例です:

    public  class Edit 
    {
         private List<Graphic> _listGraphic;
         public Initialization()
         {
             _listGraphic= SomeFunctionHere();
             BatchEdit batchEdit= new BatchEdit(_listGraphic);
          }

     }

     public class BatchEdit
    {

         public BatchEdit(List<Graphic> listGra)
         {
         }
    }

ありがとう、

4

1 に答える 1

2

ある動作を他のクラスに委任したいように私には見えます。他のクラスは通常「サブクラス」ではありません(継承の観点から)。

デリゲートは、その呼び出し元に依存する場合があります。デリゲートがその呼び出し元の一部を使用する必要がある場合は、呼び出し元への参照をコンストラクターに渡すことができます。

「デザイン」と「デザインパターン」を混同しないでください。一般的なデザインパターンに基づいて構築する必要があるアプリケーションのデザインを開発します。デザインパターンは、最も一般的な問題の解決策を導きます。

于 2012-08-03T21:52:28.937 に答える