我有一个具有单独的类为数据库中的每个表的数据访问层。每一类使得在引用表中的一个行对象,他们创建,更新,删除和读取功能。它们都继承一个类DBObj。我的问题是,说我要编写一个查询来SELECT * FROM table,并有一个函数。哪里是把这个最好的地方?在业务层或组在各自的数据层类的所有相关的功能?其在PHP如果该事项,使用MySQL。

有帮助吗?

解决方案

把SQL查询在所述数据层。

对于像SELECT * FROM table查询,不管你做的是模型本身,或模型管理对象的方法的一类方法,是一种风格问题。

但是,业务逻辑应该从数据库模式中的任意的细节被抽象。业务层应该能够只要求一个模型的所有实例的数据层,而不关心的是将被用来获取数据的特定查询。

其他提示

我刚刚找到了你的问题,我想到带来的另一种观点。你应该对大多数应用程序(不会说每一个,但它是接近)建立一个数据抽象层,大部分时间定义为ORM框架。

小心,数据访问层(DAL)不应该与你的网域层或业务逻辑层混淆,这取决于你的架构方法。如果你想更深入地这个问题上,我觉得每一个开发商应,你可以寻求 Martin Fowler的文章 ,你也可以阅读的博客后我做了,而以前,几乎没有为M.福勒重要的,但我对此事做了一些思考。

此致 大卫

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top