よくある質問 - AWS 規範ガイダンス

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

よくある質問

六角形アーキテクチャを使用する理由

六角形アーキテクチャは、開発者の焦点をドメインロジックに移行し、テストの自動化を簡素化し、コードの品質と適応性を向上させます。これらの改善により、市場投入までの時間が短縮され、技術的および組織的なスケーリングが容易になります。

ドメイン駆動型設計を使用する理由

ドメイン駆動型設計 (DDD) では、ビジネスステークホルダーとエンジニアの間で共通言語を使用することで、ソフトウェアコンポーネントとコンストラクトを構築できます。DDD は、ソフトウェアの複雑さの管理に役立ち、ソフトウェア製品を長期的に維持するための効果的な戦略です。

六角形アーキテクチャを使用せずにテスト駆動型開発を実践できますか?

はい。テスト駆動型開発 (TDD) は、特定のソフトウェア設計パターンに限定されません。ただし、六角形アーキテクチャにより TDD の練習が容易になります。

六角形アーキテクチャやドメイン駆動型設計を使用せずに製品をスケールできますか?

はい。技術的および組織的な製品のスケーリングは、ほとんどの設計パターンで実現できます。ただし、六角形アーキテクチャと DDD を使用すると、スケーリングが容易になり、長期的には大規模なプロジェクトでより効果的です。

六角形アーキテクチャを実装するには、どのテクノロジーを使用する必要がありますか?

六角形アーキテクチャは、特定のテクノロジースタックに限定されません。依存関係の反転と単体テストをサポートするテクノロジーを選択することをお勧めします。

最小限の実行可能な製品を開発しています。ソフトウェアアーキテクチャについて考えるのに時間を費やすことは理にかなっていますか?

はい。MVPs には使い慣れた設計パターンを使用することをお勧めします。エンジニアが慣れるまで、六角形アーキテクチャを試して練習することをお勧めします。新しいプロジェクトに六角形アーキテクチャを確立しても、アーキテクチャなしで開始するよりも大幅に大きな投資は必要ありません。

最小限の実行可能な製品を開発しており、テストを作成する時間がない。

MVP にビジネスロジックが含まれている場合は、自動テストを作成することを強くお勧めします。これにより、フィードバックループが減少し、時間を節約できます。

六角形アーキテクチャでは、どのような追加の設計パターンを使用できますか?

CQRS パターンを使用して、システム全体のスケーリングをサポートします。リポジトリパターンを使用して、ドメインモデルを保存および復元します。作業パターンの単位を使用して、トランザクションプロセスステップを管理します。継承に対するコンポジションを使用して、ドメインの集計、エンティティ、値オブジェクトをモデル化します。複雑なオブジェクト階層を構築しないでください。