問題タブ [dto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DTO (linq2sql) と Class オブジェクトの間の混乱!
私は linq2sql と linq DTO (linq2sql によって作成されたクラス) の操作に成功しています ....
私は混乱しています。古いアプリケーションを更新するタスクがあり、DTO が本来あるべき方法で使用されることがわかります....日付を転送する
私はリポジトリ パターンを使用しているので、linq2sql dtos を介してリポジトリからサービスにデータを渡しています...サービス層に入ったら (これは基本的に私のビジネス ロジックです)、クラス オブジェクトを渡す必要があります。
これらのクラス オブジェクトは、基本的に dtos のミラー イメージ (多かれ少なかれ) です。いくつかの場所でいくつかの変更がありますが、一般的には同じです..
ということで、本題に戻ります!-- リポジトリからサービス層にデータを転送するためだけに dtos を使用するのは、この良い方法ですか...そしてサービス層 (ビジネス ロジック) に入ったら、すべての dtos をクラス オブジェクト カウンター パーツにマッピングする必要があります (もちろん automapper を使用して! !)
私の他の代替手段は、クラスオブジェクトのようなDTOSを引き続き使用し、メソッドからメソッドへ、および戻り値の型などとして渡すことですが、これは悪い習慣だと感じており、どのメソッドを適用すべきか疑問に思っていますか?
どんな助けでも本当に感謝しています
ありがとう
dto - DTO: ベスト プラクティス
ドメイン オブジェクトを渡す代わりに DTO を使用することを検討しています。ここや他の場所でいくつかの投稿を読みましたが、これを行うにはいくつかのアプローチがあることを理解しています。
全部で約 10 個のドメイン クラスしかなく、ビュー (WPF フロント エンド) で使用するためにドメイン オブジェクトではなく DTO を使用したい場合、推奨されるアプローチは何ですか。私の状況では、オートマッパーなどのツールを使用するのはやり過ぎだと思います。そこで、ドメイン タイプを DTO タイプに変換するメソッドを持つカスタム マッパー クラスを作成することを考えています。
これを行うための最良の方法は何ですか?これを開始するためのサンプルはありますか?
2 番目の質問: DTO を作成するメソッドを作成する場合、特にドメイン タイプが他のドメイン オブジェクトへの参照を持っている場合、すべてのデータの設定をどのように処理すればよいですか? ドメイン クラスのこれらの参照型にマッピングするために、DTO に同等のプロパティを記述しますか? 2 番目の質問を適切な言葉で表現していないかどうか尋ねてください。しかし、私が尋ねようとしていることを理解していると思います。
3 番目の質問: DTO を作成する場合、それぞれが特定のビューの要件を満たすために使用できるように、特定のドメイン モデルの部分的なデータを含む複数の DTO を作成する必要がありますか、それとも DTO にすべてのデータが含まれている必要があります。対応するモデル クラスで。
java - POJO (Plain Old Java Object) と DTO (Data Transfer Object) の違いは何ですか?
それらの違いを見つけることができません。それらを区別する方法を知っている人はいますか?
java - Javaオブジェクトからオブジェクトへのマッピング用のツールはありますか?
Javaを使用してDOをDTOに変換しようとしており、独自の作成を開始する前に自動化されたツールを探しています。同じことができる無料のツールがあるかどうか知りたかっただけです。
java - データ転送オブジェクト(DTO)がアンチパターンであるのはなぜですか?
最近、データ転送オブジェクト(DTO)はアンチパターンだと言う人を耳にしました。
なんで?選択肢は何ですか?
asp.net-mvc - ASP.NET MVC アプリケーションは適切に構成されていますか?
私はチュートリアル (特に Linq-To-Entities を使用するもの) を実行してきましたが、基本的な概念は理解していますが、いくつかの問題が発生しています。
通常、チュートリアルには、基本的な create、update、delete ステートメントのみを使用する単純なモデルとフォームのみが含まれます。私のものはもう少し複雑で、6 つのデータベース オブジェクトのリレーションシップを処理するときが来ると、チュートリアルは役に立たなくなるため、これを正しい方法で行っているかどうかはわかりません。
post メソッドの場合、CRUD 操作を実行する通常の方法
完全に実装されたクラスがコントローラーメソッドに投稿されないため、私が望むことはできません。個々のフィールド、フォーム コレクション、または複数の DTO オブジェクトをポストしてから、サービスまたはリポジトリでメソッドを呼び出して、フォーム ポストから受け取った情報と、クエリまたは作成に必要な情報を取得してから、これらすべてを実行して、保存できるデータベース オブジェクトを作成します。
これを正しく処理していますか、それともフレームワークをろくでなしにしていますか? 実際にエンティティ オブジェクトを直接使用することはありません。クエリを実行するたびに、必要な情報を DTO に入れ、それを基にビューを作成します。創作も同様です。これは許可されていますか、それともエンティティを直接使用しないことは、フレームワークを使用する目的に反していますか?
編集:このエラーメッセージのためにLINQクエリを適切に実行するには空のコンストラクターが必要になるため、このアプローチについても心配しています:
LINQ to Entities では、パラメーターなしのコンストラクターと初期化子のみがサポートされています。
コンストラクターにロジックを必要とすることはめったにないので、これは大したことではありませんが、コンストラクターがなく、パブリック プロパティのみを使用することは問題ですか?
nhibernate - 投影でコンポーネントを再利用する(NHibernate)
コンポーネントマッピングをプロジェクションで再利用することは可能ですか?
ベンダーエンティティのマッピングは次のとおりです。
レポートの場合、データ転送オブジェクトでこれらのベンダーを取得したいのですが、Addressコンポーネントを再利用します(多くのフィールドといくつかの便利なフォーマット動作があるため)。
これは、アドレスを独自のテーブルに分割せずに可能ですか?
ありがとう!
c# - Linq2Sqlで生成されたクラスは、別のプロジェクトに入れることができますか?
linq2sqlで生成されたクラスをc#の別のプロジェクトに抽出できるかどうか誰かに教えてもらえますか?-ファイルを作成してから、それらを新しいプロジェクトにコピーして、データプロジェクトへの参照を追加できると思いますか?
私が抱えている問題は、UI、サービスレイヤー、データレイヤーがあることです...
現在、データレイヤーには生成されたlinq2sqlもあります。これは、dbmlがある場所です。
したがって、サービスからデータへの参照が必要です。これは良いことです。しかし、サービスレイヤーを参照するUIはありますが、UIがデータレイヤーを参照するのは良い考えではないと思います(linq2sqlクラスで必要になるため)。
したがって、私が見る唯一の方法は、クラスを引き出して別のプロジェクトに配置し、すべてのプロジェクトが共有できるようにすることです。これは良い習慣ですか?
このプロジェクトをDTOと呼ぶべき命名規則は何ですか?POCO?エンティティ?または類似
私は本当にこれを達成する方法と天気のフィードバックを聞きたいです私は正しいラインです
.net - 型指定されていない.netDataSetはダック型のDTOですか?
さて、インデクサーを使用してデータセット内のデータ行のフィールドにアクセスしていますが、これを単なる構文上の機能と見なしてみましょう。ここまで進んで、それをゲッターとセッター、つまりデータ転送オブジェクトに還元されたダックタイプのものと呼びますか?
nhibernate - NHibernate DTO を構築するための最良のアプローチ
私はNHibernate(およびORMS)を初めて使用し、それが提示する無数のさまざまなオプションを把握しようとしています。参考までに、私は別のビジネス オブジェクトで Fluent NHibernate を使用しています。これらのビジネス オブジェクトは、純粋にデータ アクセスに DTO を使用します。私のアプリケーション アーキテクチャは、Windows と Web の「フロント エンド」の両方をサポートする必要があります。
非常に多くのオプションがあるように見えるので、私の悩みは一般的なアプローチの1つです。私の DTO は、以下のサンプルのようになります。各 DTO には、BO から渡される ISession への参照があります。それらは、独自のロードと保存を担当します。
まず第一に: これは正しいアプローチですか?
第二 に、保存/読み込みコードがどこにあるかに関係なく、存続期間またはオブジェクトに同じ ISession を使用する必要がありますか、それとも ISessionFactory への参照を持ち、データベースとのやり取りが必要になるたびに新しいセッションを開く必要がありますか?
もちろん、常にオプション 3 があり、上記のどれもありません :)