Architecture: The Domain Layer - MAD Skills
URL:https://www.youtube.com/watch?v=gIhjCh3U88I
一言で表すと
概要
Domain layer は UI Layer と Data Layer に挟まれていて、optional なレイヤーである
Domain layer は アプリのアーキテクチャをより
シンプルにし、理解しやすくする
スケーラブルにする
テストしやすくする
Domain Layer は ビジネスロジックと呼ばれるものを保持する
ビジネスロジック= アプリにとって価値のあるルールやアクションの集合
ビジネスロジックは uiロジックとどう違うの?
UI logic は 画面にどうやって表示するかに着目している
business logic は event や data change にたいして何をしたいかに着目している
アプリが小さいうちは必要のないレイヤ
例えば適当な buisiness logic は viewmodel とよんでいる UI Layer の一部に実装するか、Data Layer に配置することが多い
Domain layer では単一のタスクを持つように UseCase の単位を切り出す
単一の機能なので、XXUseCase という命名にする
Verb + noun / what + UseCase
https://scrapbox.io/files/627bae82022f3e001ddc4133.png
全部にこの命名すると overkilling な場面もあるけども、特に巨大なコードベースでの可読性に貢献する。
ただ、これは例でしかないので、好きにプロジェクトで決めるといい。
Code Convention が決まっていることに価値がある。
UseCaseのGuideline
https://scrapbox.io/files/627baf0b1d283400233979c3.png
UseCaseはUseCaseに依存したり、repositoryに依存してOK
https://scrapbox.io/files/627baf5a0b6b64001db17c50.png
chigichan24.icon UseCase が本当に state を持っていなければUseCaseがUseCaseに依存するのはいいんだけどな...
Mori Atsushi.icon 気を抜くと相互依存とか混沌としそう
気になるポイント
メモ
コメント