我最近在學DDD,不太理解這些概念。我有一些關於示例博客應用程序的問題。域驅動設計(示例博客應用程序)
我們假設博客系統中有四個域對象:User
,Blog
,Post
和Comment
。一個User
只能有一個Blog
,Blog
具有多個Post
個實體,並且Post
有許多個Comment
個實體。
我的設計是Blog
是聚合根:
class Blog {
private User;
private List<Post> posts;
}
class Post {
private List<Comment> comments;
}
class BlogRepository {
public void saveBlog(Blog blog);
public void findBlogById(long id);
public void getAllBlogs();
}
我說得對不對設計聚合根和存儲庫這樣嗎?
我有一些要求,把所有的Comment
實體由用戶所有Blog
實體加入,也是User
被允許修改他/她自己的Comment
。
我的問題是我如何實現這些要求?
儘量避免像設計數據庫架構那樣考慮任何領域建模。 1對1或1對多關係是典型的關係數據庫思維。他們在DDD中沒有地位。 – MikeSW 2013-04-29 07:39:04