クリーンアーキテクチャとはずばり
クリーンアーキテクチャとは、「ソフトウェアを整理整頓するための設計手法」!
プログラムの中身を役割ごとにきれいに分けて、変更しやすく、わかりやすく、トラブルが起きにくくする仕組みのこと。
日常生活での具体例(学校の部活動で例えてみる)
・指揮者(顧問の先生や指揮担当)
全体の演奏をまとめている。演奏の曲やテンポ、音量とかもここで決まる。
→クリーンアーキテクチャではこれが「中心部(コア)」にあたる。アプリの「本質的なルール」を担当している。
・演奏者(部員)
実際に楽器を演奏する。指揮者の指示に従って自分のパートを担当する。
→クリーンアーキテクチャでは「ビジネスロジック」「ユースケース」と呼ばれ、指揮者が決めたルールを実現する部。
・楽器(トランペット、サックス、ドラム)
部員が実際に音を出すために使う。
→クリーンアーキテクチャでは、「外部インターフェイス」、「フレームワーク」、「データベース」に相当。
・楽譜(曲の楽譜)
演奏者が演奏するときの具体的な指示!
→クリーンアーキテクチャではインターフェイスの役割を果たしている。