1

그래서 여기에 대해 몇 가지 질문을 보았습니다.어떤 계층에서 컨트롤러가 계층화 된 아키텍처/DDD에 적합합니까?

계층화 된 아키텍처/DDD 응용 프로그램에서 컨트롤러 (일반적인 MVC 응용 프로그램의 "C")는 어떤 계층에 적합합니까? UI 레이어 또는 응용 프로그램 레이어에있을 수있는 여러 장소에서 읽었지만 올바른 레이어가 무엇인지 내 머리를 감쌀 수 없었습니다.

나는 에릭 에반스의 DDD를 읽고 있는데, 내가 책을 읽었을 때까지는 아직 이해할 수 없었다. UI 레이어가 복잡하지 않으면 응용 프로그램 레이어와 병합 할 수 있다고 말했습니다. 이것은 컨트롤러에 대해서도 동일한 것입니까?

답변

4

MVC는 일반적으로 UI 아키텍처이므로 컨트롤러는 UI의 일부로, 응용 프로그램 서비스를 호출 한 다음 응답을 UI에 적합한 형식으로 변환합니다.

응용 프로그램이 DDD를 정당화 할 정도로 복잡하면 UI와 응용 프로그램 계층을 분리하는 것을 정당화 할만큼 복잡합니다.

여전히 오버 엔지니어링을 생각하고 피하는 것이 좋습니다. 분리가 현재 필요하지 않다고 판단되면 나중에 컨트롤러를 응용 프로그램 서비스 및 리팩터로 사용할 수 없습니다.

응용 프로그램 계층이 다른 계층에 있으므로 MV * 아키텍처가 클라이언트에있는 단일 페이지 웹 응용 프로그램의 새로운 시대에 따라 분리가 자연 스럽습니다.