14

私はこれら2つの違いを説明するチュートリアルと良い例を見つけようとしていましたが、情報を見つけることができませんでした。

純粋なファブリケーションと間接参照は、中間オブジェクトを作成して責任を割り当てるように機能します。したがって、これらのデザインパターンの違いを誰かが説明できますか?

ありがとう!

4

3 に答える 3

21

コンポーネント間のより低い結合を作成する場合は、インダイレクションを使用します。Larman が UML とパターンの適用で提案している例は、クラス TaxCalculatorAdapter です。クライアントが可能なアダプターの内部動作を知る必要がないように、必要な API のみを公開して間接的に非表示にします。このインダイレクションは、アダプティと高度に結合されますが、クライアントとは疎結合になります。

PersistentStorage from Pure Fabricationは、より低い結合を提供するという点で、確かにIndirectonです(Larman は本でそう述べています)。Pure Fabricationドメインモデルの一部ではないオブジェクトを作成するという点で、それを超えています。

Larman が提供する例は、ドメイン クラスSaleです。保存するすべてのデータがあるためSale、Sale を保存するためのロジックも保持する候補になります ( Information Expert )。ただし、永続化ロジックはセールの概念とは関係がないため、クラスはまとまりがなくなります。また、Sale を特定の DB API に結合することで、再利用を制限します (レスキューへの間接化)。また、保存は一般的なアクティビティであるため、保存する必要があるオブジェクトのコードも重複する可能性があります。これを回避するには、何かを作り上げます (純粋な捏造)。つまり、ドメイン モデル (ここでは a PersistentStorage) の一部ではない何かを作成しますが、それでもアプリケーションの重要なアクティビティをキャプチャします。

そのため、ピュア ファブリケーションはインダイレクションの特殊化、または変形です。

于 2013-03-06T13:36:01.240 に答える