1

この質問に関する多くのスタックオーバーフローの回答が存在しますが、両者の違いを明確に区別することはめったにありません。その結果、私はそれらを理解するのに混乱しています。

ここで私はこのパターンで作業しています

図 9.1 を参照すると、ビジネス オブジェクト転送オブジェクトの両方が使用されます。両方の定義は次のように行に沿って与えられますが、

通常は、Book や Store などのエンティティを表すクラスと見なされます。このようなクラスには、価格、色、幅、ISBN 番号などの特定のプロパティがあります。Java または .NET では、いわゆるセッターとゲッターで構成されます。

現在、DTO の定義は同じです。オブジェクトを表す Bean のように見えます。したがって、スタンドアロン アプリケーションでは、ビジネス オブジェクトと DTO が考えられます。上記のパターン リンクの観点から 2 つを区別してください。

4

2 に答える 2

3

DTO は、あるレイヤーから別のレイヤーにデータを転送するために使用されます (たとえば、データ アクセス レイヤーからモデルへ)。

BO にはビジネス ロジックが含まれます。

しかし、このパターンで最も重要なことは、ソフトウェアをより保守しやすくするためにレイヤーを分離することです。

たとえば、データ アクセス レイヤーを分離する場合、データベースを使用してデータを取得するか、ソケットを使用するか、パイプラインで分離されたプレーン テキスト ファイルを使用するかは関係ありません。残りのレイヤー。

于 2013-04-03T22:40:27.933 に答える
1

その記事では次のように定義されています。

BusinessObject はデータ クライアントを表します。データを取得して保存するためにデータ ソースにアクセスする必要があるオブジェクトです。BusinessObject は、データ ソースにアクセスするサーブレットまたはヘルパー Bean に加えて、セッション Bean、エンティティ Bean、またはその他の Java オブジェクトとして実装できます。

これは、データ キャリアとして使用される転送オブジェクトを表します。DataAccessObject は、転送オブジェクトを使用してデータをクライアントに返すことができます。DataAccessObject は、Transfer Object でクライアントからデータを受信して​​、データ ソース内のデータを更新することもできます。

データを取得してデータ ソースに保存するクラスと、レイヤー間でデータを運ぶだけのオブジェクトとの違いがわかりますか?

于 2013-04-03T22:50:16.850 に答える