首先,请不要将此作为通用的全局解决方案来标记我。我的担忧是针对我们的环境。
我们是一家提供定制的基于ASP.Net的网络的小型企业 溶液即可。大多数情况下,它涉及到 diff类型的用户的安全访问 仪表板,管理查找数据和管理业务实体 用户角色,以及其他一些内容,例如日志记录。没什么花哨的东西或 复杂性。
我们已经从ASP.Net升级到MVC再到webAPI,现在.NET Core。我们一直在关注3层架构(+一些实用程序,库等)。现在,我们已经根据一些明智的社区建议抽象了DAL(数据访问)"暗示这种抽象将有助于我们切换"数据库。 但是在过去的7到8年里从未发生过: - )
我提出这样的担忧,因为抽象是有代价的! ASP到MVC一直很棒,MVC到webAPI(或多或少相似)。但现在.NET Core超越了所有。 DI / DIP, Onion Architecture ,Repository pattern,... DI看起来不错,但之后合并存储库模式似乎过度。< / p>
中等水平的网络解决方案需要那么多吗? MVC + KO很棒! DI + Repository承诺像模拟测试,IoC,Abstraction,...但我可以使用Postman测试我的应用程序,我相信我们会坚持使用SQL Server - DI +也是如此存储库好或只是DI?
我不同意 DI is an anti-pattern 。但那么多少太多了?还欢迎任何其他建议!