問題タブ [domain-driven-design]
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.
database - 「親オブジェクトは最大 2 つの子を持つ」などのルールをデータベースで複製する必要があります
「親オブジェクトは最大 2 つの子を持つ」などのルールは、トリガーを使用してデータベースに適用できます。ただし、このルールがドメイン層で既に適用されている場合は、ルールを複製することをお勧めします。
そのような規則の重複が正当化されるのはどのような場合ですか? そのような重複を避けるための代替手段はありますか? それはデータの完全性規則ではないのですか?
ありがとう
domain-driven-design - DDD の良い例はどこにありますか?
私はドメイン駆動設計について学んでいますが、いくつかの良いサンプルを見ることで解決できると思われる混乱する実際的な問題がいくつかあります。
基本的な DDD の概念を適切にモデル化する、適切に機能するコード サンプルを知っている人はいますか?
特に興味がある
- 実例となるドメイン モデル
- リポジトリ
- ドメイン/アプリケーション サービスの使用
- 値オブジェクト
- 集約ルート
nhibernate - 持続性無知はスケーリングできますか?
NHibernate と Linq2Sql について簡単に説明しました。また、Entity Framework をのぞいてみるつもりです。
私がこれらの ORM について話すときに提起される質問は、「彼らはスケーリングできない」ということです。Google からは、うまくスケーリングできるという印象を受けますが、最終的には、支払うべき代償があるに違いないと思います。
javascript - Javascript ドメイン モデル オブジェクトの規約
C# でドメイン モデル オブジェクトを作成する必要がある場合は、次のようにします。
Javascript では、そのようなオブジェクトを定義するための規則は何ですか? 私はこのようなことを考えています:
architecture - データベース内のデータを検索する必要がある値オブジェクトを処理する方法
私はドメイン駆動設計の研究を始めたばかりで、エンティティと値の分割についての私の理解に誤りがある可能性が非常に高いので、そうである場合はお知らせください。
私の理解では、その ID はそのプロパティによって完全に定義されるため、Address は典型的な値オブジェクトです。私の理解では、これはとりわけ、アドレス用の別個のリポジトリまたはデータ アクセス オブジェクトがあってはならないことを意味します。
私の場合、住所には国が含まれ、国には名前と国コードがあり、国コードのリストはデータベースから読み込まれるはずなので、これはジレンマを引き起こします。
私の質問は、これをどのように設計するのですか? new 演算子を使用して住所を作成できるようにしたいのですが、国のデータ アクセス オブジェクトを作成したくありません。
私にはいくつかのアイデアがありますが、誰かが持っている可能性のある提案を聞きたいです。
design-patterns - ドメイン駆動設計とファクトリ クラスの役割
ファクトリ クラスの役割と責任が何であるかは不明です。私は、ファクトリ クラスがドメイン オブジェクト (集約ルート) とそれに関連付けられたエンティティおよび値オブジェクトの作成を担当する必要があることを十分に理解しています。
しかし、工場の「レイヤー」がDDDアーキテクチャのどこにあるのか、私にははっきりしていませんか? ファクトリはリポジトリを直接呼び出して、そのデータまたはサービス ライブラリを取得する必要がありますか?
ファクトリは次のフレームワークに適合します:
UI > アプリ > ドメイン > サービス > データ
また、ファクトリはオブジェクトの作成が許可されている唯一の場所であるため、データおよびサービス レイヤーでオブジェクトを作成したい場合、循環参照が発生しませんか?
ファクトリ クラスの役割がオブジェクトの作成である場合、サービス層にはどのような利点がありますか?
私は多くの質問をしましたが、どんな回答でも感謝しています。私が欠けているのは、ドメイン駆動型設計プロジェクトのすべてのレイヤーがどのように組み合わされるかを示すサンプル アプリケーションです...そこに何かありますか?
domain-driven-design - すべての「バルク」操作はDDDのどこに属しますか?
DDDの重要な概念の1つはリポジトリです。これにより、エンティティ(または集約ルート)を取得し、更新後に保存して戻すことができます。
エンティティを使用して「バルク」操作を実行する必要があり、エンティティの数によってそれらをメモリに取得することが絶対に不可能であると仮定します。つまり、操作はデータベースでのみ実行できます。
そのような「バルク」操作の場所はどこにありますか?それはリポジトリ上のメソッドである必要がありますか?データベース固有の操作でリポジトリの抽象化を「リーク」しませんか?事業運営をエンティティからリポジトリに移しませんか?
domain-driven-design - 集約ルートによって維持されるコレクションにオブジェクトを追加するにはどうすればよいですか
BlogPost集約ルートがあるとしましょう。リストを保持し<Comment>
ます。
BlogPost AddComment署名はどのように見えるべきですか?使用しても大丈夫ですか:
または、rootの子への参照をその外部に作成することを避け、次のようなことを行う必要があります。