在更高的层上编写接口是否被视为一种好习惯?

问题描述

我当时认为最好在“应用程序”层(业务)上编写工作单元的接口及其在“持久性”层(DAL)上的实现。目的是使各层尽可能地分离。

想象一下您决定将DAL从EF核心更改为Dapper的情况。这种过渡将如何减轻痛苦?最好让界面宣布“我需要这个查询,那个以及那个,以便开展我的业务”,然后将其映射到新的数据访问层,这样更好吗?

解决方法

您的想法是正确的,它将使您的业务逻辑成为重点,并将技术细节转化为业务逻辑的插件。

另请参见Robert C. Martin的“清洁建筑”,以更深入地了解同一个方向。

https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...