시스템을 여러 계층으로 분리하여 관리하는 아키텍처 패턴으로 현재 가장 널리 채택되고 있는 아키텍처 패턴 중 하나 -> 단순하고 대중적이면서 비용도 적게 들어 사실상 모든 어플리케이션의 표준 아키텍처라 어떤 아키텍처 패턴을 도입할지 확신이 없을 때에는 계층형 아키텍처 패턴은 좋은 선택지가 될 수 있음
계층형 아키텍처 패턴은 각 계층을 명확하게 분리해서 유지하고, 각 계층이 자신의 바로 아래 계층에만 의존하게 만드는 것이 목표
계층화의 핵심은 각 계층이 높은 응집도(Cohesion)를 가지면서, 다른 계층과는 결합도(Coupling)를 최소화 하는 것. 여기서 상위 계층은 하위 계층을 사용할 수 있지만, 하위 계층은 자신이 어떤 상위 계층에 속하는지 알 필요없이, 독립적으로 동작할 수 있어야 함.
계층형 아키텍처 패턴의 장점
3계층 아키텍처에서 구성되는 각각의 계층(Layer)는 아래와 같다.
3계층 아키텍처 (3-Layered Architecture)