設計について考えてみる.(さぼった-あとがき-)
実はこの記事は
Prolab Advent Calendar 2017 - Adventar
の22日目の記事の一部として書かれています.
先日までせっせとコードを書き直してた上記の後者のほうのリポジトリのコードについてちょっと話させてください.
オブジェクト指向を心掛けました.(ん?)
しかし,きちんとした設計を学んでないので自己流意味不明コードが出来上がりました.
そこで私は設計の観点からこのコードのコードレビューしてみることにしました.
こちらを参考にしました
ついでに私がそれぞれの部分で実装した内容について書いていくので,振り分け,実装の仕方についての『突っ込みどころ』を探しながら読んでいただければ嬉しいです.
まず
presentation層(濃いオレンジ),domain層(薄いオレンジ), infra層(青)?
に分類していきました.
providerとviewModelの役割分担に不安しかないので何をさせていたか軽く説明します.
(❌Dao→⭕️DAO)
特に音楽の再生などをさせる部分というのは,presentation層とdomain層のどちらに割り当てられるのかがいまいちわかりませんでした.
※このあと他にも色々書こうと思ったのですが自分が自分の思ってた以上に設計のことを理解していなかったため書けなくなってしまいました(悲しいごめんなさい)
改善点
- DIを使っていないので柔軟性がない&テストがしずらい(これ以上大きくする予定のないアプリだったのでまだマシなのかもしれませんが)
- (皆さんからのアドバイス等を参考にし,随時追加していきたいです)
自分的に良かった点
- 昔よりActivityがすっきりした.