2

すべてのアセンブリでメイン シーケンスからの距離を低く保つようにしていますか? Business Objects 定義のみを含むアセンブリについてはどうでしょうか。それらをZone of Painから遠ざけることは可能ですか? このようなアセンブリの型は通常、他のアセンブリで使用され、かなり具体的です。そのような状況をどのように処理しますか?

4

1 に答える 1

5

{「主系列星からの距離」を低く保つ}の目的は、デメテルの法則に基づいていると思います。このルールに従うと、コードが理解しやすくなり、単体テストが容易になります。単なるデータコンテナであるビジネスオブジェクトを使用することにより、必要以上の状態を公開し、カプセル化のルールを破ることになります。

ただし、ファウラーがこの記事で指摘しているように、「メソッドチェーンは匂いですが、転送メソッドで肥大化した中間の男性オブジェクトの反対の問題も匂いです。デメテルの提案と呼ばれる場合はデメテル。)」

このような基本的なビジネスオブジェクトの価値は、データ転送オブジェクトとしての使用方法など、オブジェクトに含まれる「内容」だけを渡したい場合に役立つと思います。ただし、実際のビジネスオブジェクトと空のデータ転送オブジェクトを区別することはおそらく重要です。実際のビジネスオブジェクトには、カプセル化するデータとともに動作も含まれている必要があると思います。

于 2009-08-03T05:17:44.410 に答える