본문 바로가기
Study/만들면서 배우는 헥사고날 아키텍쳐 설계와 구현

1장

by irerin07 2023. 11. 27.
728x90

비즈니스 코드를 기술코드로부터 분리한다고 하는데 비즈니스 코드는 무엇이고 기술 코드는 무엇인가

비즈니스 규칙을 도메인 핵사곤에 캡슐화 했다고 하는데 그 뜻이 무엇인가. 그전에, 비즈니스 규칙이란 무엇인가

유스케이스와 입력포트, 출력포트의 관계는 Service-ServiceImpl 관계로 보이는데 무언가 차이가 있는건가?

출력포트를 통해 외부 데이터를 받는다. -> 외부로부터 데이터를 출력 받는다는 의미?

 

도메인 헥사곤

실제 세상의 문제를 이해하고 모델링하는 활동을 나타냄

기술에 구애받지 않는 형태로 표현되어야 함

중요 비즈니스 데이터와 규칙 관련 엔티티들이 있는데 이들이 실제 문제에 대한 모델을 나타냄

엔티티와 값객체로 구분될 수 있음.

 

애플리케이션 핵사곤

애플리케이션 특화 작업을 추상적으로 처리하는 곳. 기술 관심사를 직접 다루지 않는다.

도메인 비즈니스 규칙에 기반한 소프트웨어 사용자의 의도와 기능을 표현

유스케이스, 입력포트, 출력포트로 구분할 수 있음

 

프레임워크 헥사곤

소프트웨어와 통신하는 곳.

드라이빙 방식과 드리븐 방식

드라이빙 : 입력 어댑터 사용

드리븐 : 출력 어댑터 사용

 

드라이빙은 소프트웨어에 동작을 요청하는 것이다 -> 내가 직접 운전(요청)하는 것 -> 사용자 혹은 사용자를 대신하는 프런트엔드 애플리케이션

입력 어댑터 상단에 구축된 API를 통해 통신이 발생한다.

 

드리븐은 애플리케이션에서 트리거 되고 내부 소프트웨어 요구사항을 충족시키기 위한 데이터를 외부에서 가져온다.

 

728x90