封装数据库访问是一种好的做法

时间:2013-12-12 15:25:10

标签: database language-agnostic encapsulation

我正在开发一个应用程序。 我在某处读到了不应该直接访问数据库的情况,但应该有一种层,并且应该访问数据库。

我不知道具体原因。

如果您可以提供一些推理或链接,那将会很棒。

1 个答案:

答案 0 :(得分:1)

是的,这是一个很好的做法从其他部分抽象/封装您的数据库访问逻辑o。不应直接访问数据访问层或向所有人公开数据访问层。在设计应用程序时,您必须考虑这个重要因素“分层架构”,例如业务层,服务层,表示层等。像服务层(如果它的Web应用程序)调用业务层和业务层调用数据访问层的工作流程。所有这些层应该彼此非常抽象,或者它只能被非常直接的层(所谓的客户端)访问。

回答你的问题:假设你当前的数据访问实现是基于普通的JDBC / ODBC。经过一段时间你的需求增长;您计划使用一些ORM框架实现它。在这种情况下,在不同的API中编写的不同数据访问逻辑之间切换/迁移非常容易,而不会影响应用程序的其余部分,而且其他层也不知道您的更改,因为您的设计本质上是非常抽象的。

底线:始终针对抽象接口而不是实施。

希望这有用,感谢评论

相关问题