October 22, 2023
소프트웨어 아키텍처는 기능과 구조 중 구조에 대한 이야기
어떤 로직을 어디에 구현할 것인지
고민하지 않아도 됨아키텍처 패턴 = [
계층형 아키텍처,
클린 아키텍처,
헥사고날 아키텍처,
// ...
]
좋은 아키텍처를 위한 많은 소프트웨어 개발 원칙들이 존재한다.
도메인 로직을 Domain 계층에 명확하게 정의하도록 권장
[!note] 클린 아키텍처의 Entity는 DDD에서 말하는 Entity와는 다름.
- 비즈니스 규칙을 캡슐화한 객체 or 데이터 구조와 함수를 묶은 것
- DDD의 도메인 객체에 가까운 개념
헥사고날 아키텍처 === 클린 아키텍처
로 생각하고 진행해도 무방하다고 한다. 각 아키텍처의 개념은 아래와 같이 매핑할 수 있다.
Entity
== 헥사고날 Entity
Use Cases
== 헥사고날 Use Case + Ports
Interface Adapters
== 헥사고날 Adapters
팀원들이 이해하지 못했지만 혼자서만 이해한 아키텍처 구조를 코드베이스에 적용해도 될까?
헥사고날 아키텍처를 입문용으로 사용해서 클린 아키텍처로