我一直在阅读关于在ASP.NET MVC项目中放置业务逻辑的问题,但仍然有些事情不太清楚。
1- 领域模型。这些到底是什么?在我的Model文件夹中,我只有一堆对应数据库的类。我正在使用EF Code First。我假设这些是我的领域模型。
2- 服务层。这个答案建议使用服务层,我认为这非常有道理。我已经决定采用这种方法。然而,Martin Fowler的“贫血领域模型”文章使我感到困惑。
我真的不确定如何将逻辑添加到我的领域模型中。
我已经阅读了许多与业务逻辑相关的问题,每个问题都提出了1或2种方案。我不明白的是,我如何实现第一个方案。将方法添加到实体类(对我来说就是领域模型)根本没有意义。为什么第二种方法被认为是不好的?
BusinessObject
是您的领域模型,而DataObject
则是您数据层中的一个类 - 在您的情况下,它是您的EntityObjects
之一。 - MartinBusinessObject
中保留底层的DataObject
,而不是使用您提到的POCO和一个非常简单的映射方法public static BusinessObject ToBusinessObject(this DataObject dataObject) { return new BusinessObject { BusinessId = dataObject.Id, ... }; }
? - ErikE