集約ルートを介して集約内のエンティティのコンテンツにアクセスする簡単な例を表示できますか?これらの概念を反映する集約パーミッションをどのように表現するかについては明確ではありません。ティア。集約ルート経由のエンティティへのアクセス:簡単な例?
答えて
通常、これは、Aggregateがその契約で公開するコマンドでカプセル化します。
たとえば、オーダー集計では、GUIから取得したデータを使用してオーダーラインを追加することができます。
// This is the Order Aggregate Root
public class Order
{
private readonly int id;
private readonly Customer customer; // Customer is another Aggregate
private readonly IList<OrderLine> orderLines;
private readonly IOrderLineFactory orderLineFactory;
public Order(int id, Customer customer, IOrderLineFactory orderLineFactory)
{
this.id = id;
this.customer = customer;
this.orderLines = new List<OrderLine>();
this.orderLineFactory = orderLineFactory;
}
public void AddOrderLine(Item item, int quantity)
{
OrderLine orderLine = orderLineFactory.Create(this, item, quantity);
orderLines.Add(orderLine);
}
}
私はこれが古い質問だと知っていますが...あなたのモデルでは、OrderLineを更新したいのであれば、そのように見えます。 Order/Customer/OrderItemsを更新するために注文をリポジトリーに戻しますか? – Craig
@Craig上記の質問に何か不運?私はまったく同じことで本当に苦労しています。集約ルート内のネストされたエンティティの更新はどのようにして行われますか? – Sudarshan
@Sudarshanすべてのアクセスは集約ルートを経由する必要があります。いいえ、公序良俗リストの行はありません。これを可能にするには、集計ルートにメソッドを公開する必要があります。 –
- 1. 集約ルートではないエンティティへのアクセス
- 2. レイジーロードを使用しない集約エンティティへのアクセス
- 3. 単純な集約ルートとリポジトリ
- 4. DDD:レポーティング用に集約ルート内のエンティティへのリンクを維持する
- 5. DDD - 集約ルート - 例受注とオーダーライン
- 6. リポジトリパターン - 集約ルート
- 7. Perl、ハッシュ変数への(簡単な)アクセス
- 8. NHibernateの概念集約的なルート
- 9. java経由のコマンドプロンプト(ウィンドウ)へのアクセス
- 10. ストリーム経由のWCFサービスファイルへのアクセス
- 11. JavaScript経由のTCP接続へのアクセス
- 12. ODBC経由のDB2への無料アクセス
- 13. CakePHP - bootstrap.php経由のデータベースへのアクセス
- 14. Gdata API経由でのコメントへのアクセス
- 15. Googleのprotobufファイルへのアクセス(簡単)
- 16. USB経由でAndroidからの簡単なコマンドを送信
- 17. VB.netの簡単なデータ入力フォーム(リレーショナルテーブル経由)
- 18. MKAnnotation、簡単な例
- 19. DispatcherHelperの簡単な例
- 20. C++クラスメンバコールバックの簡単な例
- 21. GTKmmコンパイルエラーの簡単な例
- 22. 簡単なPaypal IPNの例?
- 23. Qt:Quazipの簡単な例
- 24. pthread_joinデッドロックの簡単な例
- 25. 簡単なブログのネストされたルート
- 26. ドメイン駆動型設計の各ルート集約エンティティ用の1つのリポジトリ
- 27. 簡単なアクセスのためのC++ファイルコンテナ(例:zip)
- 28. Doctrine2の別のエンティティ経由でアクセスする
- 29. 集約ルートの背後にあるエンティティにアクセスするにはどうすればよいですか?
- 30. 集団ルートと子エンティティのインスタンス作成
zsharp - 私が以下に与えた答えで解決したいものはありますか? –