0
在我的项目之一,我使用的是N层架构域逻辑和业务逻辑
DAL (Repository Pattern) <-> BLL (POCO Services) <-> Web UI (ASP.NET MVC)
我创建了一个通用存储库,一切都是DAL层上的罚款。
业务逻辑层中,我有我的服务方法,它的运作就像(我爱,因为比萨:)
myOven.Bake(myPizza);
的使用,即使例如,我需要这是内部的一些具体信息对象myPizza
,像这样:
我知道,我可以使用类似:
myOven.GetBakeTimeFor(myPizza);
由此可以计算,但我不希望(这里的服务层)把那个特定的逻辑到myOven
对象,相反,我想包括在myPizza
,像
public partial class Pizza
{
public double GetBakeTime()
{
// calculate Bake Time and return, based on other variables
}
}
我的意思是,扩展我的ORM生成的类并提供此功能。
我的问题:我知道这可以在理论上完成,但是在同一个班级同时使用Domain Logic
和Business Logic
时应该考虑到什么因素?
你需要看看TDA(告诉别问)。 myPizza.BakeIn(myOven);该操作应用于GETS行为的对象。 –
我的问题不是选择你的方法'myOven.Bake(myPizza);',我的问题是如果我提供域逻辑和存储库模式在一起。 –
您的DAL数据结构不是您的域模型对象。有一个区别。要么使用持久性无知的ORM,要么不要混淆数据结构和域对象。 –