Programing

MVCS-모델보기 컨트롤러 서비스

lottogame 2020. 11. 25. 07:27
반응형

MVCS-모델보기 컨트롤러 서비스


나는 오랜 시간 동안 MVC를 사용하여 "에 대해 들어 봤는데 서비스 (Java 웹 프로젝트의 예를 들어)"레이어 그리고이 있는지 궁금 봤는데 실제 아키텍처 패턴 I에 대해 많은 정보를 찾을 수 없습니다 부여 그것.

MVCS의 아이디어는 컨트롤러 에있을 수있는 모든 비즈니스 로직을 캡슐화하기 위해 컨트롤러와 모델 사이에 서비스 계층 을 갖는 것입니다. 이렇게하면 컨트롤러가 실행을 전달하고 제어 할 수 있습니다. 또한 코드를 복제하지 않고도 많은 컨트롤러 (예 : 웹 사이트 및 웹 서비스)에서 서비스를 호출 할 수 있습니다.


서비스 계층은 많은 방법으로 해석 될 수 있지만 일반적으로 핵심 비즈니스 처리 로직이 있고 MVC 아키텍처 아래에 있지만 데이터 액세스 아키텍처 위에 있습니다.

예를 들어 완전한 시스템의 계층은 다음과 같을 수 있습니다.

  1. 뷰 레이어 : MVC 프레임 워크 및 선택한 코드
  2. 서비스 계층 : 컨트롤러는이 계층의 개체를 호출하여 모델 또는 기타 요청을 가져 오거나 업데이트합니다.
  3. 데이터 액세스 개체 : 서비스 계층이 필요한 데이터를 가져 오거나 업데이트하기 위해 호출하는 추상화입니다. 이 계층은 일반적으로 데이터베이스 또는 다른 시스템 (예 : LDAP 서버, 웹 서비스 또는 NoSql 유형 DB)을 호출합니다.

그러면 서비스 계층은 다음을 담당합니다.

  • 다양한 데이터 소스 (또는 데이터 액세스 개체)에서 '모델'을 검색하고 생성합니다.
  • 다양한 리포지토리 / 리소스에서 값 업데이트.
  • 애플리케이션 별 로직 및 조작 등을 수행합니다.

MVC에서 사용하는 모델은 서비스에서 제공 될 수도 있고 제공되지 않을 수도 있습니다. 서비스가 제공하는 결과를 매체 (예 : 웹 페이지)에 더 구체적인 모델로 조작 할 수 있습니다.


나는 다른 곳에서 이것에 대한 참조를 보지 않고이 패턴을 직접 생각하고 Google을 검색하고 여기에서 질문을 찾았습니다. :)

오늘날에도 그에 대해 이야기하거나 게시하는 기관은 많지 않습니다.

뷰 컨트롤러 서비스 패턴.

여기에 이미지 설명 입력

다른 사람들도 똑같이 생각하고 있음을 알려주고 위의 이미지는 그것이 어떻게되어야 하는지를 보는 방법입니다.

현재 저는 현재 작업중인 프로젝트에서 사용하고 있습니다.

위 이미지의 각 레이어가있는 모듈에 자체 자체 포함 된 모듈이 있습니다.

여기에 이미지 설명 입력

서비스 계층은 "클라이언트"측 컨트롤러가 클라이언트에 대해 수행하고 "서비스"가 서버에 대해 수행하는 작업에서 "커넥터" "중간자" "서버 측 컨트롤러"입니다.

즉, 클라이언트 측 "컨트롤러"는 "서비스"(서버 측 컨트롤러) 와만 "대화"합니다.

컨트롤러 ---> 요청 및 <----- 서비스 계층에서 수신

서비스 계층은 정보를 필요로하는 서버 측의 계층에 정보를 가져 오거나 제공합니다.

서비스 자체는 아무것도하지 않고 서버 계층을 필요한 항목과 연결합니다.

다음은 코드 샘플입니다.

여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/5702391/mvcs-model-view-controller-service

반응형