是否有可能创建一个重叠数据库上下文的表,以避免将数据库上下文放在库中或为相同的事情创建不同的表前缀/不同的数据库?
详细说明,这是CRM系统的一个例子。
- Pages
- Categories
- BlogEntries
- Comments
- Products
- Profiles
- Licenses
- Activations
- Invoices
- Customers
激活服务器上下文使用
- Products
- Licenses
- Activations
- Customers
客户关系上下文使用
- Products
- Customers
- Invoices
前端网站上下文使用
- Products
- Customers
- Invoices
- Profiles
- Pages
- Categories
- BlogEntries
- Comments
我能想到的唯一方法......
答案 0 :(得分:1)
这是我避免使用域驱动设计的主要原因是因为这样的问题。
我只有一个大的上下文......它是一个存储库包装器,你的存储库就是这样。如果您将所有内容存储在一个大型数据库中,那么您的上下文/存储库应该是一个大型存储库,IMO。
在我看来,这不是一个关注点分离的问题。在某种意义上,上下文仅包含存储库关注点,而不是围绕这些实体的业务逻辑......它做了一件事:从永久存储中序列化和反序列化数据/实体。
我们在大约4年前通过域驱动设计进行了实验,我们发现我们反复讨论“产品属于域1还是域2”这些相当无意义的争论。这是对生产力的真正拖累,这真的是因为DDD并不真正适合大多数现实世界的场景,因为重叠是常态而非例外。