
Clean Architecture
レイヤードアーキテクチャ、CQRS、MediatR、repository pattern、関心の分離、テスト容易性
1Clean Architecture の原則とは何ですか?
Clean Architecture の原則とは何ですか?
回答
Clean Architecture はコードを同心円状のレイヤーに整理し、依存関係は内側(Domain に向かって)のみを指します。Domain 層(エンティティ、ビジネスルール)はインフラへの依存を持ちません。外側の層(UI、Database、API)は Dependency Inversion を通じて Domain の抽象に依存します。これにより、テスト容易性、フレームワークからの独立性、コードの保守性が保証されます。
2Clean Architecture の主なレイヤーは何ですか?
Clean Architecture の主なレイヤーは何ですか?
回答
Clean Architecture には 4 つの主要なレイヤーがあります:Domain(エンティティ、ビジネスルール、repository インターフェース)、Application(use case、DTO、アプリケーションロジック)、Infrastructure(repository の実装、DbContext、外部サービス)、Presentation(API controller、UI)。Domain は中心にあり何にも依存しません。Application は Domain に依存します。Infrastructure と Presentation は Application と Domain に依存します。
3CQRS パターンとは何ですか?
CQRS パターンとは何ですか?
回答
CQRS(Command Query Responsibility Segregation)は読み取り操作(Queries)と書き込み操作(Commands)を分離します。Commands は状態を変更し、void または単純な結果を返します。Queries は状態を変更せずデータを返します。この分離により、読み取り(Dapper、SQL ビュー)と書き込み(EF Core、DDD 集約)を独立して最適化でき、それぞれの側を異なる方法でスケールできます。
Clean Architecture における MediatR の役割は何ですか?
MediatR で Command をどのように定義しますか?
+17 面接問題