Web Apiを使用してチャットアプリケーションバックエンドを構築しています。エンティティをDTOにマッピングするためのポジティブな点があるかどうか、または現在のエンティティを公開し続けるべきかどうか疑問に思っていました。明確にするために、DTOと非DTOの一般的な質問を尋ねるのではなく、エンティティのほとんどのフィールドがクライアントによっておそらく使用されるため、このシナリオでそれを使用する利点があります。Web Apiチャットアプリケーションバックエンドサーバーでデータ転送オブジェクト(DTO)を使用するかどうかを指定する
10
A
答えて
14
はい、1人で開発した小規模なアプリケーションで、完了まで数日しかない場合は、エンティティを公開することができます。
将来的に肥大化するアプリケーションを構築する場合は、ドメインエンティティがデータの表現に最適でないため、DTOの使用を検討する必要があります。ドメインエンティティは常にクライアント側で必要なものを多かれ少なかれ、正確には持っていません。
ドメインエンティティをDTOにマップするには、AutoMapperというツールを使用できます。
いくつかのデモ:他のアプリケーションのようにhttp://www.codeproject.com/Articles/61629/AutoMapper
5
同様の効果。あなたのアプリに特別な利点はありません。 DTOの使用は本質的にデカップリングの練習であり、メソッドからプロパティを分離します。 現在、データベースオブジェクトを渡しています。そうすることは、必要以上に過ぎて必要以上に露出していることを意味する可能性があります。あなたはまた、何がどのように操作されているかを大いに意味しています。あなたは物事を分割する努力から抜け出すことになるでしょうか?
関連する問題
- 1. データ転送オブジェクトDTOビルド
- 2. データ転送オブジェクト(DTO)のポイントは何ですか?
- 3. データ転送オブジェクト - DTOまたはビジネスオブジェクトでマッピングを実行しますか?
- 4. JPAのパターン:エンティティからデータ転送オブジェクトDTOを生成し、DTOをデータベースにマージする
- 5. データ転送オブジェクト(DTO)投影用のHibernate第2レベルキャッシュ
- 6. ODataとWeb APIでDTOを使用する
- 7. DTOオブジェクトを使用したWeb APIルーティング - C#
- 8. クラスを使用するかどうかを指定するクラス
- 9. データ転送オブジェクトとデータセットを使用する場合
- 10. オブジェクト指向コーディング - オブジェクトマネージャを使用するかどうか
- 11. Web APIでルートパラメータタイプを指定するのはなぜですか?
- 12. スウィフトでiOSアプリにデータ転送があるかどうかを検出する
- 13. テーブルからWebフォームにデータを転送する方法は?
- 14. PythonからHTMLテンプレート/ Webサイト(Flaskを使用)にデータを転送することは可能ですか?
- 15. DTO vs VM - 使用するかどうかは?
- 16. Catel - サービスベースアプリケーションでModelBaseを "データ転送オブジェクト"として使用
- 17. Web APIにJSONオブジェクトを送信する
- 18. データ転送オブジェクトからDALオブジェクトにデータを簡単にバインドするには?
- 19. ASP.NET MVCでユーザーエリアを使用するかどうかを指定する
- 20. ContentProviderでBaseColumnsを使用するかどうかを指定しますか?
- 21. ライフサイクルアーカイブルールを使用すると、AWSはS3オブジェクトをGlacierアーカイブにどのように転送しますか?
- 22. Box coxを使用してデータを転送するにはどうすればよいですか?
- 23. Webサービスでデータセットを返すかどうかを指定するには?
- 24. Androidのサポートパッケージで使用するかどうかを指定しますか?
- 25. フォームを使用したモーダルのデータをホームページに転送するにはどうしたらいいですか?
- 26. PDOプレースホルダを使用するかどうかを指定するMySQLの `prepared statements '
- 27. AffineTransformの使用時に回転方向を指定するにはどうすればよいですか?
- 28. (Webサービスのコンテキストで)ポーリングするかどうかを指定します。
- 29. テンプレートパラメータの定数を転送するには、転送参照を使用する必要がありますか?
チャットアプリケーションの場合、SignalRはASP.NET Web APIではなく、使いたいものです:https://github.com/SignalR/SignalR – tugberk