😺
クリーンアーキテクチャの調べ✐
■クリーンアーキテクチャとは何か?
・アプリケーションの設計思想
・リポジトリパターン
・SOLID原則を突き止めるとクリーンアーキテクチャになるらしい
■良いこと🪷
・どこに何の処理(ロジック)が書かれているか分かりやすい(可読性)
・クラスが絡み合ってないので、変更/修正があったときに変更する箇所が少ない
・テストがしやすい
・コードの重複を防げる
(良くないとこ)
・クラス、ファイルを沢山つくることになるので大変
・長期的ではないとき、小規模のときはコストがかかるだけなので要らない
■どんな設計か
変更や修正が容易な設計
- レイヤー(層)で分けていてそれぞれの層で責務が決まってる =処理は決まった場所に書く
- インターフェースを利用してクラスが依存していない状態をつくる
インターフェースを使用していない=クラスが依存している状態になる - 開発環境で使うデータソースを分けたい時や、DBが変更になったときは、リポジトリ(インフラ層)を変更すれば良いだけで、他の層は変更する必要がない。
- 反対に、他の層もデータの保存先を気にせず記述することができる
- テストがしやすくなる
どっかから拝借した画像🙇♂️どこか忘れた🙇♂️🙇♂️
⭐️表のやじるし方向にだけ依存方向が許されている
■ドメインモデル
- メインモデルを表現するのに使用する=値オブジェクト、エンティティ、リポジトリ
- ドメインモデルはのままコードに反映する。
- 常にドメイン(業務内容、知識、ルール)について理解を深めて、モデルを継続的に改善してソフトウェアに反映させる。
Discussion