23

簡単な質問ですが、DTO/POCOSで誰もがどのような命名規則を採用しているのか知りたいと思っていました。

ハンガリアン記法のように接頭辞を付けたくありませんでした。

しかし、私のdtosの名前は、実際に返されたオブジェクト名と衝突しており、それらは別の名前空間にありますが、それでも少し混乱しています。

誰もがそれに適用する命名規則は何だろうと思っていました

たとえば、私の顧客オブジェクトは顧客と呼ばれます

そして、私はdtoへのマッピングを行います...これはCustomerです..iwasはDtoCustomerを考えています..

わからない

誰 ?

4

4 に答える 4

23

これには名前空間を使用することを好みます。これに名前空間エイリアスを使用すると、さらに明確になります。

これにより、次のようなコードが作成されます。

Customer myCustomer = new Customer();
Dto.Customer dtoCustomer = ....;

完全にDTOレイヤーで作業している場合でも、この時点で「顧客」と作業できます。

于 2009-07-02T16:58:22.097 に答える
14

私の経験では、DTOは多くの場合、ドメインエンティティが表すデータのサブセットまたは集約です。これは通常、ドメインエンティティが、動作とデータの両方を備えた、リッチで相互に関連性の高い複雑なオブジェクトであるためです。そのため、DTOに名前を付けて、DTOが表す情報のサブセットを可能な限り反映するようにしています。顧客の場合、要求されている情報に合わせて微調整されたDTOを使用することがよくあります。

  • CustomerHeader
  • CustomerDetail
  • CustomerWithRecentOrders
  • CustomerAndBill

上記の例では、CustomerHeaderには顧客IDと名前のみが含まれている可能性が高く、単純なリストで顧客を表示するためによく使用されます。CustomerDetailにはほとんどの顧客情報が含まれますが、本格的な顧客エンティティに含まれる可能性のあるリレーショナルプロパティは含まれません。他のものは自明である必要があり、それが究極の目標です。

于 2009-07-02T17:15:23.090 に答える
9

私はDtoCustomerよりCustomerDtoが好きです。それらを並べて並べ替えるのが好きです。

ただし、命名はDTOの使用法にも依存する可能性があります。たとえば、ASP.NET MVCでは、CustomerViewModelのビューに送信されるDTOを呼び出すことがよくあります。

于 2009-07-02T16:55:30.073 に答える
2

私は通常、このような状況でDTOを追加します。

于 2009-07-02T17:05:53.163 に答える