UI계층으로부터 가장 먼저 메시지를 받는 계층은?
UI 계층은 비즈니스 로직을 건드리면 안됨 -> coupling 증가
문제: UI 계층 너머에 있는 첫 번째 개체는 시스템 작업을 수신하고 조정(제어)하는 것은 무엇인가?
해결책 (다음 선택 사항 중 하나를 나타내는 객체에 책임을 할당함)
전체 "system", "root object", 소프트웨어가 내부에서 실행되는 device 또는 주요 하위 시스템(모두 façade controller의 변형임)을 나타냄
시스템 작동이 발생하는 유즈케이스 시나리오를 나타냅니다(use case controller)
facade controller는 시스템 연산이 많지 않은 경우에 적합
usecase controller는 시스템 연산이 많은 경우
컨트롤러에 너무 많은 책임이 부여되면 high cohesion을 달성하기 어려운 경우가 있음
일반적으로 컨트롤러는 수행해야 하는 작업을 다른 개체에 위임해야 하며 활동을 조정하거나 제어함. 자체적으로 많은 작업을 수행하지 않음.