您好我最近学习了web api 2,我正在研究一个示例项目。我在我的项目中遵循分层架构。这是流程
controller =>业务层=>数据层
现在我读了一些关于存储库模式的文章,现在听起来更好。
我看到了像
这样的流程控制器=>服务=>存储库
两种流量之间是否存在显着差异? 作为一个初学者,我应该流动哪种建筑风格? 有人可以帮我理解这些模式吗?
答案 0 :(得分:0)
当您使用存储库服务时,您应该使其成为通用服务并使用工作单元(UOW),这样您就不会在每个实体上重复使用CRUD操作。然后添加一些对象关系映射器(ORM),如Entity Framework。您最好还使用域对象在那里存储逻辑,并使服务返回数据传输对象(DTO),因为最佳做法是保持您的服务小而干净。然后,您还需要包含一些映射工具/逻辑,以将DTO映射到Domain对象。
你看到这一切都在发生。突然间,你有比你需要的更多的复杂性和障碍物。因为客户关心的只有一件事是产品的质量,而不是一些花哨的架构。
但随着项目的发展,拥有适当的架构,自动测试等更为重要,因此它在大型项目中是有效的。如果你想要实验和学习它是一个很好的机会,但如果你在生产中运行应用程序,我宁愿不做那么大的改变。
TLDR :它们都有效