-
원티드 프리온보딩 : SW 아키텍쳐 - 2. Layered ArchitectureServer/기타 2023. 3. 11. 16:02
Layered Architecture 장단점 찾아보기
장점
- 구현이 단순하다.
- 생산성이 좋다.
- 빠르게 학습할 수 있다.
단점
데이터베이스 중심의 설계가 이루어진다.
- repository 부터 설계가 이루어진다. repository가 우선적으로 되는 이유는 데이터베이스 설계(erd 등)부터 우선적으로 되기 때문.
- 도메인 모델에 대한 상태변경이 아닌 행동 중심으로 모델링이 된다. 즉 엔터티를 변경시키는 행동으로 모델링이 된다.
- 그래서 OOP가 무너진다. OOP를 배우는 이유가 객체와 객체 사이를 행동이 아닌 상태로 관리하고 메시지를 주고 받기 위한 건데, 엔티티에 getter, setter만 있으면 결국엔 엔티티가 DAO 가 되어 버린다. 단순 setter보단 의미있는 이름을 가진 메소드를 사용해야 한다.
- 정리하면 데이터베이스 우선 설계 -> 아키텍처 전체가 엔터티에 의존적 -> 객체의 독립성 저해 -> OOP 저해
서비스가 복잡해짐에 따라 레이어의 경계가 사라진다.
- 사람이 편한대로 하다가 경계를 무너뜨린다..
Layered Architecture 개선 포인트
- 복잡해진 클래스 구조를 어떻게 개선해야 할까?
- 계층을 넘나드는 구조를 어떻게 개선해야 할까?
- 도메인이 중심이 아닌 데이터베이스 중심을 어떻게 개선해야 할까?
'Server > 기타' 카테고리의 다른 글
원티드 프리온보딩 : 컨테이너 기술과 Docker의 기본 개념 (0) 2023.04.06 XSS와 CSRF 공격 (0) 2023.03.13 원티드 프리온보딩 : SW 아키텍쳐 - 1. 도메인과 아키텍처 (0) 2023.03.10 HTTP (0) 2022.10.30 Linux & Terminal (0) 2022.10.28