

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# よくある質問
<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)を使用して、ドメインモデルを保存および復元します。作業パターンの単位を使用して、トランザクションプロセスステップを管理します。継承に対してコンポジションを使用して、ドメインの集計、エンティティ、値オブジェクトをモデル化します。複雑なオブジェクト階層を構築しないでください。