아키텍처 패턴 (Architecture Pattern)
아키텍처 패턴은 소프트웨어의 구조를 구성하기위한 가장 기본적인 토대를 제시
- 아키텍처 패턴은 각각의 시스템들과 그 역할이 정의되어 있고, 여러 시스템 사이의 관계와 규칙 등이 포함되어 있습니다.
- 검증된 구조로 개발을 진행하기 때문에 안정적인 개발이 가능합니다.
- 아키텍처 패턴을 도입할 경우 도메인이 복잡할수록 모델이나 코드를 더 쉽게 변경할 수 있다는 측면에서 큰 이익을 얻을 수 있습니다.
=> 여러 명이서 프로젝트를 진행할 때 개발하면서 코드가 복잡하거나 구조가 맘에 안들어서 수정해야 하는 일이 생기고 협업을 해야하는 일이 잦을 때 아키텍처 패턴을 도입하면 수정과 협업이 수월해지고 코드이해하는 것에 도움이 된다.
대표적인 아키텍처 패턴
- 저장소 패턴 (Repository pattern)
- 서비스 계층 패턴 (Service layer pattern)
- 유스 케이스(Usecase)의 시작과 끝을 명확하게 정의하기 위한 패턴
- 작업 단위 패턴 (Unit of work pattern)
- 애그리게이트 패턴 (Aggregate pattern)
아키텍처 패턴을 도입하기 전에 고민해야 할 것
- 아키텍처 패턴이 주는 이익과 비용에 대해 확실한 이유가 있어야합니다.
- 해당하는 아키텍처 패턴을 채택했을 때 어떤 장단점이 존재하는지 명확하게 인지해야 합니다.
- 여러 계층을 추가하기 위해 들이는 노력과 시간을 투자할 만한 가치가 있을 정도로 어플리케이션과 도메인이 복잡한 경우에만 아키텍처 패턴을 도입해야 합니다.