確定複雜查詢中處理條件的責任:服務層與資料映射器
在追求資料擷取與操作時,問題出現這樣的問題:誰應該承擔處理複雜查詢條件的負擔- 資料映射器還是服務層?
資料映射器
資料映射器模式規定了一個簡單的接口,主要職責是資料擷取、保存和刪除。然而,其實現細節仍有待解釋。
儘管其介面極簡,但資料映射器可以擴展以合併一些條件邏輯,例如根據特定識別碼或作者姓名檢索物件。
服務層
另一方面,服務層充當控制器和資料映射器之間的中介。它可以透過直接呼叫更具體的方法來減輕處理多個條件的複雜性,例如BookDataMapper->getByAuthorAndPublisher()。
服務層條件處理的優點
有些人主張讓服務層解析查詢條件有幾個原因:
資料映射器條件處理的優點
其他人則喜歡將條件邏輯集中在資料映射器中:
最佳方法
最佳方法取決於特定應用和特定領域的邏輯。但是,可以考慮一些一般準則:
以上是服務層與資料映射器:誰應該處理複雜的查詢條件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!