存储库模式和web api

时间:2017-08-31 07:50:20

标签: asp.net-web-api repository-pattern

您好我最近学习了web api 2,我正在研究一个示例项目。我在我的项目中遵循分层架构。这是流程

controller =>业务层=>数据层

现在我读了一些关于存储库模式的文章,现在听起来更好。

我看到了像

这样的流程

控制器=>服务=>存储库

两种流量之间是否存在显着差异? 作为一个初学者,我应该流动哪种建筑风格? 有人可以帮我理解这些模式吗?

1 个答案:

答案 0 :(得分:0)

当您使用存储库服务时,您应该使其成为通用服务并使用工作单元(UOW),这样您就不会在每个实体上重复使用CRUD操作。然后添加一些对象关系映射器(ORM),如Entity Framework。您最好还使用域对象在那里存储逻辑,并使服务返回数据传输对象(DTO),因为最佳做法是保持您的服务小而干净。然后,您还需要包含一些映射工具/逻辑,以将DTO映射到Domain对象。

你看到这一切都在发生。突然间,你有比你需要的更多的复杂性和障碍物。因为客户关心的只有一件事是产品的质量,而不是一些花哨的架构。

但随着项目的发展,拥有适当的架构,自动测试等更为重要,因此它在大型项目中是有效的。如果你想要实验和学习它是一个很好的机会,但如果你在生产中运行应用程序,我宁愿不做那么大的改变。

TLDR :它们都有效