같은 문제를 어떤 단위와 질문으로 설명하는지 구분한다.
실행 순서와 상태 변경을 기술한다
명령을 function 단위로 나눈다
data와 invariant의 owner를 만든다
값 변환과 behavior 합성을 표현한다
핵심: 한 언어 안에서도 boundary 책임에 따라 여러 패러다임을 조합할 수 있다.