😺

クリーンアーキテクチャの調べ✐

2024/10/17に公開

■クリーンアーキテクチャとは何か?

・アプリケーションの設計思想
・リポジトリパターン
・SOLID原則を突き止めるとクリーンアーキテクチャになるらしい

■良いこと🪷

・どこに何の処理(ロジック)が書かれているか分かりやすい(可読性)
・クラスが絡み合ってないので、変更/修正があったときに変更する箇所が少ない
・テストがしやすい
・コードの重複を防げる

(良くないとこ)
・クラス、ファイルを沢山つくることになるので大変
・長期的ではないとき、小規模のときはコストがかかるだけなので要らない

■どんな設計か

変更や修正が容易な設計

  • レイヤー(層)で分けていてそれぞれの層で責務が決まってる =処理は決まった場所に書く
  • インターフェースを利用してクラスが依存していない状態をつくる
    インターフェースを使用していない=クラスが依存している状態になる
  • 開発環境で使うデータソースを分けたい時や、DBが変更になったときは、リポジトリ(インフラ層)を変更すれば良いだけで、他の層は変更する必要がない。
  • 反対に、他の層もデータの保存先を気にせず記述することができる
  • テストがしやすくなる


どっかから拝借した画像🙇‍♂️どこか忘れた🙇‍♂️🙇‍♂️

⭐️表のやじるし方向にだけ依存方向が許されている

■ドメインモデル

  • メインモデルを表現するのに使用する=値オブジェクト、エンティティ、リポジトリ
  • ドメインモデルはのままコードに反映する。
  • 常にドメイン(業務内容、知識、ルール)について理解を深めて、モデルを継続的に改善してソフトウェアに反映させる。

Discussion