

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# FAQ
<a name="faq"></a>

## 육각형 아키텍처를 사용해야 하는 이유는 무엇인가요?
<a name="q1"></a>

육각형 아키텍처는 개발자의 초점을 도메인 로직으로 전환하고, 테스트 자동화를 간소화하며, 코드 품질과 적응성을 개선합니다. 이러한 개선으로 인해 시장 출시 시간이 단축되고 기술 및 조직 규모 조정이 더 쉬워집니다.

## 도메인 기반 설계를 사용해야 하는 이유는 무엇인가요?
<a name="q2"></a>

도메인 기반 설계(DDD)를 사용하면 비즈니스 이해관계자와 엔지니어 간의 공통 언어를 사용하여 소프트웨어 구성 요소와 구조를 구축할 수 있습니다. DDD는 소프트웨어 복잡성을 관리하는 데 도움이 되며 소프트웨어 제품을 장기적으로 유지하기 위한 효과적인 전략입니다.

## 육각형 아키텍처 없이 테스트 기반 개발을 연습할 수 있나요?
<a name="q3"></a>

예. 테스트 기반 개발(TDD)은 특정 소프트웨어 설계 패턴으로 제한되지 않습니다. 그러나 육각형 아키텍처를 사용하면 TDD를 더 쉽게 연습할 수 있습니다.

## 육각형 아키텍처와 도메인 기반 설계 없이 제품을 확장할 수 있나요?
<a name="q4"></a>

예. 대부분의 설계 패턴으로 기술 및 조직 제품 규모 조정을 수행할 수 있습니다. 그러나 육각형 아키텍처와 DDD를 사용하면 규모를 더 쉽게 조정할 수 있으며 장기적으로 대규모 프로젝트에 더 효과적입니다.

## 육각형 아키텍처를 구현하려면 어떤 기술을 사용해야 하나요?
<a name="q5"></a>

육각형 아키텍처는 특정 기술 스택으로 제한되지 않습니다. 종속성 반전 및 단위 테스트를 지원하는 기술을 선택하는 것이 좋습니다.

## 최소 실행 가능 제품을 개발하고 있습니다. 소프트웨어 아키텍처에 대해 생각하는 데 시간을 할애하는 것이 합리적입니까?
<a name="q6"></a>

예. MVPs에 익숙한 설계 패턴을 사용하는 것이 좋습니다. 엔지니어가 익숙해질 때까지 육각형 아키텍처를 시도하고 연습하는 것이 좋습니다. 새 프로젝트에 대해 육각형 아키텍처를 설정해도 아키텍처 없이 시작하는 것보다 훨씬 더 많은 시간을 투자할 필요가 없습니다.

## 실행 가능한 최소 제품을 개발하고 있으며 테스트를 작성할 시간이 없습니다.
<a name="q7"></a>

MVP에 비즈니스 로직이 포함된 경우 이에 대한 자동 테스트를 작성하는 것이 좋습니다. 이렇게 하면 피드백 루프가 줄어들고 시간이 절약됩니다.

## 육각형 아키텍처에서 사용할 수 있는 추가 설계 패턴은 무엇입니까?
<a name="q8"></a>

[CQRS 패턴을](https://www.cosmicpython.com/book/chapter_12_cqrs.html) 사용하여 전체 시스템의 조정을 지원합니다. [리포지토리 패턴을](https://www.cosmicpython.com/book/chapter_02_repository.html) 사용하여 도메인 모델을 저장하고 복원합니다. 작업 패턴의 단위를 사용하여 트랜잭션 프로세스 단계를 관리합니다. 상속에 대한 구성을 사용하여 도메인 집계, 개체 및 값 객체를 모델링합니다. 복잡한 객체 계층 구조를 구축하지 마십시오.