第1章:クリーンアーキテクチャの背景
ブログ記事,書籍,時代背景から用語の意味を押さえる
意味のブレ
4つの円は方便
肝はSOLID原則(2021 Tech Base Okinawaでも聞いた)
フレームワーク依存(Rails)への批判(時代背景)
個々のプログラマーが「なぜ優れたアーキテクチャには共通性があるのか」を自分で考えて腹落ちさせることが肝心です。(Kindle の位置No.654-655)
時代背景
Rails以前のスタイルへの原点回帰
ソフトウェアの設計
コンセプトレベル
対象ドメイン
(プログラミング可能な)モデル
(IMO:プログラミングで表現してソフトウェアでドメインの問題を解決する)
コードレベル
コードの記述レベル
コンセプトは変えにくい。コードは変えやすい
重要でない箇所のコードは妥協できる
コンセプトレベルとコードレベルの設計はユーザ価値に貢献する(振る舞い)
アーキテクチャレベル
ユーザ価値に貢献しない
コンセプトとコードを支える(構造。開発者にとっての価値)
ドメインモデル(コンセプト)を詳細から独立させたい
無駄な負担を戦略的に減らすアーキテクチャ設計
(IMO:上の問い、アーキテクチャの共通性の鍵かも)
ドメイン駆動設計とクリーンアーキテクチャ
TODO
時代背景として、Rails以後のフレームワークがアーキテクチャの設計と無意識に学習してしまう新規開発者の数