계층형 아키텍처란?
웹 계층에서는 요청을 받아 서비스로 요청을 보내고, 서비스는 비지니스 로직을 수행한 후 영속성 계층의 컴포넌트를 호출하는 것이다.
계층형 아키텍처의 장/단점
- 장점
- 선택의 폭이 넓음
- 변화하는 요구사항과 외부 요인에 빠르게 적응할 수 있게 해줌
- 단점
- 코드에 나쁜 습관들이 스며들기 쉬움
- 시간이 지날수록 점점 더 변경하기 어려운 허점들을 노출함
계층형 아키텍처는 데이터베이스 주도 설계를 유도한다.
영속성을 토대로 만들어지는 계층형 아키텍처
- 전통적인 계층형 아키텍처의 토대는 데이터베이스
- 의존성의 방향대로 개발하므로 영속성을 토대로 만드는 것은 이상하지 않음
- But 비즈니스 관점과 부조화를 보임
왜 비즈니스 관점과 부조화를 이루는가?
- 애플리케이션에서 중요한 것은 도메인 로직(행동) —> 가장 먼저 작성되어야 함
- But 구현은 의존성의 방향대로 진행하는 것이므로 계층형 아키텍처의 관점에서는 당연한 것이므로 다름