やっぱMVCアーキテクチャっしょ
Androidでアプリを作ろうとするとき、いくつかの入門的なサンプルに従って作ってたら、バッドノウハウのカタマリみたいな状況になってきた。Activityクラス内に内部クラスでListenerを実装するとか。
もうこれはメンテしたくない的な。
やっぱりクラスの責務を明らかにすることが大切だとシミジミと思った。
そこで採用すべきは、やはりMVCアーキテクチャ。
分かりやすくするためにパッケージを分類するのがよさそうな気がしたので、なんとなくメモ。もしかすると外してるかもしれんけど。
hogeってアプリを作るとしたら、最低5個くらいのパッケージに分類するのがいいかも。
- com.satoshis.android.hoge
- com.satoshis.android.hoge.ctrl
- com.satoshis.android.hoge.entity
- com.satoshis.android.hoge.dto
- com.satoshis.android.hoge.view
entity内のクラスには、com.satoshis.android.hoge.* のimportは書いちゃダメってことで。
あと、entity内にクラスを作ったときは、必要に応じて dto や view に、その役割を持つクラスを作ればいいのかな。
ctrlはなんとなく用意してみたけど、controller の役割を持つクラスは、dto や view の中に作ってもいいかも。