提问人:SIGSTP 提问时间:12/12/2013 最后编辑:James A MohlerSIGSTP 更新时间:12/13/2013 访问量:282
封装数据库访问是否是一种好做法
Is it a good practice to encapsulate the database access
问:
我正在开发一个应用程序。 我在某处读到不应该直接访问数据库,但应该有一种层,应该通过它访问数据库。
我不知道确切的原因。
如果您能为我提供一些推理或链接,那就太好了。
答:
1赞
Balaji Reddy
12/13/2013
#1
是的,从其他部分抽象/封装数据库访问逻辑确实是一个很好的做法。不应直接访问数据访问层或向所有人公开数据访问层。这意味着在设计应用程序时,必须考虑“分层架构”这个重要因素,例如业务层、服务层、表示层等等。工作流,如服务层(如果其 Web 应用程序)调用业务层,业务层调用数据访问层。所有这些层都应该彼此非常抽象,或者应该只对最直接的层(所谓的客户端)访问。
回答您的问题:假设您当前的数据访问实现基于普通 JDBC/ODBC。一段时间后,您的需求增长;您计划使用一些 ORM 框架来实现它。在这种情况下,在用不同 API 编写的不同数据访问逻辑之间切换/迁移非常容易,而不会影响应用程序的其余部分,而且其他层不知道您的更改,因为您的设计本质上是非常抽象的。
底线:始终针对抽象接口而不是针对实现。
希望这对您有所帮助,并感谢您发表评论
上一个:我应该如何为分片建模?
评论