Design patterns 将存储库接口传递给域级服务是否干净?

Design patterns 将存储库接口传递给域级服务是否干净?,design-patterns,architecture,Design Patterns,Architecture,背景:我们的应用程序是一个相当直接的MVC web应用程序,它调用服务层。该层使用工作单元模式访问一些存储库,然后将这些对象传递给域级服务以执行某些逻辑。它很干净,对我们很有用 问题:我们现在有一个案例,我们从第三方获取了大量xml,需要对其进行处理。该过程相当复杂,需要在该过程中进行各种存储库调用(性能不是问题)。这种逻辑应该和所有其他逻辑一起存在于我们的领域 问题:将接口传递到存储库以供域级服务访问是否干净 我认为为这种流程将接口传递到存储库是一种设计风格。也许我误解了,但听起来XML的处理

背景:我们的应用程序是一个相当直接的MVC web应用程序,它调用服务层。该层使用工作单元模式访问一些存储库,然后将这些对象传递给域级服务以执行某些逻辑。它很干净,对我们很有用

问题:我们现在有一个案例,我们从第三方获取了大量xml,需要对其进行处理。该过程相当复杂,需要在该过程中进行各种存储库调用(性能不是问题)。这种逻辑应该和所有其他逻辑一起存在于我们的领域


问题:将接口传递到存储库以供域级服务访问是否干净

我认为为这种流程将接口传递到存储库是一种设计风格。也许我误解了,但听起来XML的处理将在存储库中进行。这是存储方式吗?即使如此,这也应该由一个单独的类来处理,该类只涉及处理接受存储库接口的XML

存储库应该只处理对数据存储的访问


像这样的流程需要多次调用存储库,这并不罕见。为了确保您可以对XML处理逻辑进行属性测试,XML处理器应该接受一个到存储库的接口,这样您就可以模拟它,并单独对XML处理进行单元测试。我认为,对于这种流程,将接口传递到存储库是一种设计风格。也许我误解了,但听起来XML的处理将在存储库中进行。这是存储方式吗?即使如此,这也应该由一个单独的类来处理,该类只涉及处理接受存储库接口的XML

存储库应该只处理对数据存储的访问


像这样的流程需要多次调用存储库,这并不罕见。为了确保您可以对XML处理逻辑进行属性测试,XML处理器应该接受到存储库的接口,以便您可以模拟该接口并单独对XML处理进行单元测试

否,处理将不在存储库中,而只是存在于域中的一个服务,接收IRepository。确定,我当时确实误解了。听起来像是在向存储库传递接口。因为这是另一种方式,所以这是解决问题的一种思路和干净的方式。不,处理不会在存储库中,只是一个生活在域中的服务,接收IRepository。好吧,我当时确实误解了。听起来像是在向存储库传递接口。因为这是另一种方法,所以这是一个想法,也是一个解决问题的干净方法。