3

あるプロジェクトのコードレビューを行っています。次のスキームで確認できるアーキテクチャです。

システムアーキテクチャー

現時点では、DTO (単純な POJO とドメイン) に Hibernate アノテーションが含まれています。私が知っているように、DTO を使用する利点の 1 つは、すべてのドメイン フィールドをパブリックとして作成し、ゲッターとセッターを使用してすべてのスタブ コードを削除できることです。これは正しいアプローチですか?

DTO からも getter と setter を削除することについてどう思いますか? また、Groovy で DTO を実装しているプロもいるでしょうか?

それについてどう思いますか?

4

3 に答える 3

5

セキュリティ修飾子は、DTO 層でまだいくつかの有用な作業を行うことができると思います。その主な目的はプレゼンテーション層から単純に設定することであるため、ほとんどのフィールドは確実にパブリックとしてマークできます。ただし、特定の方法でのみ設定できるものや、その他の特別なものがあるものもあります。

つまり、簡単に言えば、単純なフィールドに public を使用できます。

于 2011-03-17T15:55:09.190 に答える
1

私が JavaBeans を使用する理由は次のとおりです。

  1. JavaBeans で動作するオープンソースのヘルパー クラスがあります。例: 実行時まで名前が不明なプロパティ値を設定する。

  2. 単純なデータ変換を行う必要がある場合があります。ゲッターとセッターはそれを透過的に行うことができます。

  3. データの「構文」を確認できます。例: フィールドが null であってはならない場合は、NullPointerException をスローします。

いずれにしても、パブリック フィールドと JavaBeans を混在させないでください。皆を混乱させるだろう。

于 2011-03-17T16:06:06.457 に答える
0

dto でフィールドを public にすることの唯一の短所は、他のチーム メンバーに誤解を与える可能性があることです。ゲッターとセッターを使用すると、get* と入力して、ide がすべてのフィールドを提案するまで待つことができます。

于 2011-03-19T18:57:36.573 に答える