クリーンアーキテクチャ
Clean Architecture
くりーんあーきてくちゃ
Robert C. Martinが提唱したアーキテクチャパターン。エンティティ、ユースケース、インタフェースアダプタ、フレームワーク・ドライバの同心円構造で、依存関係を内側に向ける。ビジネスルールを外部技術から独立させることを目的とする。
Related
他の資格での定義
ソフトウェアの依存関係を内側(ビジネスロジック)から外側(UI・DB等)への一方向に制御するアーキテクチャパターン。レイヤー間の疎結合を実現し、テスト容易性と保守性を高める。
ソフトウェアを、中心の業務ルール(エンティティ、ユースケース)から外側の画面、データベース、フレームワークまでの同心円状の層に分け、依存の向きを常に外側から内側へ向けるアーキテクチャ。ロバート・C・マーチンが提唱した。業務ルールが技術的な詳細に依存しないので、データベースやフレームワークを替えやすく、業務ルールを単独でテストできる。
Robert C. Martinが提唱したアーキテクチャパターン。エンティティ、ユースケース、インタフェースアダプタ、フレームワーク・ドライバの同心円構造で、依存関係を内側に向ける。ビジネスルールを外部技術から独立させることを目的とする。
Related
関連キーワードの用語
明確に定義されたインタフェースを持ち、独立して開発・配備・置換が可能なソフトウェアの構成単位。再利用性が高く、コンポーネントベース開発(CBD)ではシステムをコンポーネントの組み合わせで構築する。
ビジネスドメインの知識を中心に据えてソフトウェアを設計する手法。ユビキタス言語、境界づけられたコンテキスト、集約、エンティティ、値オブジェクトなどの概念を用いる。Eric Evansが提唱した。
Alistair Cockburnが提唱したアーキテクチャパターン。ポートとアダプターによりアプリケーションのコアロジックを外部システム(UI、DB、外部サービス等)から分離する。テスト容易性と技術的変更への柔軟性を高める。
ソフトウェアをModel(データ・ビジネスロジック)、View(表示)、Controller(入力制御)の3つの役割に分離するアーキテクチャパターン。各要素の独立性を高め、保守性と拡張性を向上させる。
システムを、独立して開発・配置できる小さなサービスの集まりとして構成する方式。サービス単位で改修や増強ができる一方、サービス間の通信やデータの整合性の管理は複雑になる。
複数の要件や品質特性の間で、あるものを優先するとほかが犠牲になる関係を分析・評価すること。性能と保守性、コストと品質など、相反する要件間の最適なバランスを見つけるためにシステム設計で広く用いる。
