[TIL] API 아키텍처 2

mandarinduk·2020년 11월 8일
0
post-thumbnail

레이어드 아키텍처의 핵심요소

단반향 의존성

레이어드 아키텍처의 핵심 요소는 바로 단방향 의존성이다. 각각의 레이어는 오직 자기보다 하위에 있는 레이어에만 의존한다. 그 뜻은 반대로 하위에 있는 레이어는 상위 레이어에 대해 완전히 독립적이다.

separation of concerns

각 레이어의 역할이 명확한 특징이 있다. presentation layer에는 비즈니스 관련 로직이 전혀 구현되어 있지 않다. 비즈니스 로직을 처리하기 위해서 presentation은 business layer의 코드를 호출해서 사용해야 한다.

레이어드 아키텍처의 장점

이러한 핵심요소 덕분에 레이어드 아키텍처의 구조로 코드를 구현하면 코드의 확장성이 높아진다.
각 레이어가 서로 독립적이고 역할이 분명하므로 서로에게 끼치는 영향을 최소화하면서 보수유지 할 수 있다.
또한 각 레이어가 완벽하게 분리가 되어 있고 역할이 명확하므로 가독성도 높아진다.
그리고 business layer는 여러 다른 presentation layer에 적용될 수 있어, 재사용성도 높아진다.
마지막으로, 테스트 코드를 구현하기도 더 수월해진다. 각 레이어를 테스트하는 코드도 레이어가 나뉘는 것처럼 명확하게 나눌 수 있으며, 복잡한 로직이 아니라 명확하고 범위가 확실한 기능만을 테스트하기 쉽다.








출처: 깔끔한 파이썬 탄탄한 백엔드

profile
front-end 신입 개발자

0개의 댓글