2011-01-21 8 views
2

データプロバイダに基づいてリスト内のオブジェクトをリサイクルするためによく使用する特定のスニペットコードがあります。私はスニペットを実行するクラスを作ることを考え、各ステップを処理するために与えられたクラスを使用しました。この問題は...私はそれに名前を付けるべきか分からない。このスニペットの再利用を説明するデザインパターンが存在しますか?このデザインパターンの名前はありますか?

package 
{ 
    public class RecycleOperationRunner implements IRecycleOperationRunner 
    { 
     public function RecycleOperationRunner() 
     { 

     } 

     public function run(operation:IRecycleOperation):void 
     { 
      const m:int = Math.max(numObjects, numDataItems); 

      for (var i:int = 0; i < m; i++) 
      { 
       if (i < numDataItems) 
       { 
        if (i < numObjects) 
        { 
         operation.reuseItem(i); 
        } 
        else 
        { 
         operation.createItem(i); 
        } 

        operation.setupItem(i); 
       } 
       else 
       { 
        operation.removeItem(i); 
       } 
      } 

      operation.dispose(); 
     } 
    } 
} 

答えて

4

「プール」と記述できるようです。 「thread pool」または「connection pool」のように

典型的には、あなたがプールからのリソースを要求し、すべてのリソースが現在(リース)使用されている場合、その中で、わずかに外れるように見える、あなたブロック 1つが利用可能になるまで。あなたの例では、あなたが作成します。したがって、自動的にサイズが拡大して非ブロッキングになるプールがあります。ここで

+2

または一般に、*リソースプール*。 –

+0

@Peter:ありがとう、私はより一般的なWikipediaの記事を追加しました。正確に "リソースプール"の1つは存在しませんが、それは良い総称です。 –

+0

プールの側面は概念の単なる例です。私はこれがコマンドパターンに似ていると思うが、設定可能なコールバックを持っていると思う。 – destroytoday

関連する問題