在我的一个项目中,我使用的是 n 层架构
DAL (Repository Pattern) <-> BLL (POCO Services) <-> Web UI (ASP.NET MVC)
我创建了一个通用存储库,DAL 层一切正常。
在业务逻辑层中,我有我的服务方法,其运行方式类似(我喜欢使用的示例是因为 Pizza :)
myOven.Bake(myPizza);
尽管如此,我需要一些对象内部的特定信息myPizza
,例如:
myPizza.GetBakeTime();
我知道,我可以使用类似的东西:
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
同一个课程时我应该考虑什么?