【发布时间】:2013-12-13 12:45:14
【问题描述】:
所以。这可能是个愚蠢的问题,但是...
我仅限于使用不支持 EntityFramework 的数据库,但我仍然想将我的数据层分离到一个单独的程序集中。这意味着我需要共享域对象值,同时避免我的业务层和数据层之间的循环引用。因此,我想知道构建一个可以由业务层实现并相互独立地传递给数据层的持久性接口存储库是否可以接受。
示例如下:
// Business Layer
public class Customer: IPersistableCustomer
{
private string name;
public string Name{ get { return this.name; } }
public void persist()
{
dataLayer.StoreCustomerInstance(this);
}
}
// DataLayer
public StoreCustomerInstance(IPersistableCustomer persistableCustomer)
{
// Do storage stuff
}
// Interface repository
public interface IPersistableCustomer
{
string Name { get; }
}
我几乎可以肯定这是一个糟糕的主意,但我不知道为什么。我很想知道人们的想法,看看可能存在哪些潜在陷阱。
【问题讨论】:
标签: c# object domain-driven-design