我正在使用 Entity Framework 进行我的第二个项目,我想阅读一些关于代码是否低于其良好编码实践的意见。
我提出的架构是这样的:
因此,网站调用业务逻辑,在那里评估业务规则。然后它调用 DALFacade,只是它对于上层是不可见的,无论我们是访问 db2 还是 sql server。
EF DAL,它负责与数据库对话,CODE FIRST Approach。实体类库是带有 poco 类的项目。实用程序是不言自明的,我可能会放一些代码,比如从活动目录中读取属性。
所以这是我的代码,我尽可能地简化了它
一页:
protected void BtnSubmitRequestClick(object sender, EventArgs e)
{
var ecoBonusWorkflow = new EcoBonusWorkflow
{
IsOnHold = true
};
BusinessLogic.EcoBonusRequestSave(ecoBonusWorkflow);
}
商业逻辑:
public static class BusinessLogic
{
public static void EcoBonusRequestSave(EcoBonusWorkflow ecoBonusWorkflow)
{
if (true)
{
DalFacade.EcoBonusRequestSave(ecoBonusWorkflow);
}
}
}
DAL外观:
public static class DalFacade
{
private static readonly UnitOfWork UnitOfWork = new UnitOfWork();
public static void EcoBonusRequestSave(EcoBonusWorkflow ecoBonusWorkFlow)
{
UnitOfWork.EcoBonusWorkflowRepository.InsertEcoBonusWorkflow(ecoBonusWorkFlow);
}
}
然后在 EF Dal 类库中,我使用传统的 EF 4.1 代码优先方法。我还使用了存储库模式和工作单元。
欢迎任何意见