서비스 레이어와 데이터 매퍼: 누가 복잡한 쿼리 조건을 처리해야 합니까?
Nov 08, 2024 am 12:31 AM복잡한 쿼리의 처리 조건에 대한 책임 결정: 서비스 레이어와 데이터 매퍼
데이터 검색 및 조작을 추구할 때 다음과 같은 질문이 필요합니다. 발생: 복잡한 쿼리 조건을 처리하는 부담은 누가 져야 합니까? 데이터 매퍼 또는 서비스 계층?
데이터 매퍼
데이터 매퍼 패턴은 간단한 인터페이스를 나타냅니다. , 주요 책임은 데이터 가져오기, 저장 및 삭제입니다. 그러나 구현 세부 사항은 해석의 여지가 있습니다.
간단한 인터페이스에도 불구하고 데이터 매퍼는 특정 식별자나 작성자 이름을 기반으로 개체를 검색하는 등 일부 조건부 논리를 통합하도록 확장될 수 있습니다.
서비스 계층
반면 서비스 계층은 컨트롤러와 데이터 매퍼 사이의 중개자 역할을 합니다. BookDataMapper->getByAuthorAndPublisher()와 같은 보다 구체적인 메소드를 직접 호출하여 여러 조건을 처리하는 복잡성을 완화할 수 있습니다.
서비스 계층 조건 처리의 장점
일부 사람들은 여러 가지 이유로 쿼리 조건을 분석하는 서비스 계층을 옹호합니다.
- 데이터 매퍼의 복잡성을 줄입니다.
- 모델 계층 내에서 조건부 논리를 유지하여 컨트롤러로의 유출을 방지합니다. .
데이터 매퍼 조건 처리의 장점
다른 사람들은 데이터 매퍼 내에서 조건부 논리를 중앙 집중화하는 것을 선호합니다.
- 서비스 계층을 단순한 중개자로 만듭니다.
- 필요에 따라 데이터 매퍼에 조건 기반 방법을 추가로 통합할 수 있습니다.
최적의 접근 방식
최적의 접근 방식은 특정 애플리케이션과 도메인별 논리에 따라 다릅니다. 그러나 다음과 같은 몇 가지 일반적인 지침을 고려할 수 있습니다.
- 가져오기, 저장, 제거와 같은 필수 작업을 사용하여 데이터 매퍼 인터페이스를 최대한 단순하게 유지하세요.
- 도메인 개체를 사용하세요. 데이터 검색을 위한 조건부 매개변수를 자체적으로 보유합니다.
- Tell Don't Ask 원칙을 활용하여 도메인 객체와 매퍼 간의 통신을 최소화합니다.
- 객체 그룹을 처리하려면 ArticleCollectionMapper와 같은 추가 구조를 사용하는 것이 좋습니다. 조건이 다양합니다.
위 내용은 서비스 레이어와 데이터 매퍼: 누가 복잡한 쿼리 조건을 처리해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
