确定复杂查询中处理条件的责任:服务层与数据映射器
在追求数据检索和操作时,问题出现这样的问题:谁应该承担处理复杂查询条件的负担 - 数据映射器还是服务层?
数据映射器
数据映射器模式规定了一个简单的接口,主要职责是数据获取、保存和删除。然而,其实现细节仍然有待解释。
尽管其界面极简,但数据映射器可以扩展以合并一些条件逻辑,例如根据特定标识符或作者姓名检索对象。
服务层
另一方面,服务层充当控制器和数据映射器之间的中介。它可以通过直接调用更具体的方法来减轻处理多个条件的复杂性,例如BookDataMapper->getByAuthorAndPublisher()。
服务层条件处理的优点
一些人主张让服务层解析查询条件有几个原因:
数据映射器条件处理的优点
其他人更喜欢将条件逻辑集中在数据映射器中:
最佳方法
最佳方法取决于具体应用和特定领域的逻辑。但是,可以考虑一些一般准则:
以上是服务层与数据映射器:谁应该处理复杂的查询条件?的详细内容。更多信息请关注PHP中文网其他相关文章!