Tweet
テストが書けない人のAndroid MVP
1,980円 (1,800円+税)
レガシーなコードをMVPで分割してテスト可能に変える!多くのプロジェクトで運用されているレガシーなコードをリファクタリングし、将来的にモダンなコードとしていくために必要なテストコードの書き方を解説したガイドブックです。
関連サイト
本書の関連ページが用意されています。
内容紹介
【レガシーなコードをMVPで分割してテスト可能に変える!】
本書は多くのプロジェクトで運用されているレガシーなコードをリファクタリングし、将来的にモダンなコードとしていくために必要なテストコードの書き方を解説したガイドブックです。将来的にDagger2に置き換えることを目標としつつ、いくつかのレガシーパターンのリファクタリング例を紹介しています。
書誌情報
- 著者: 高畑 匡秀
- 発行日: 2018-12-28 (紙書籍版発行日: 2018-12-28)
- 最終更新日: 2018-12-28
- バージョン: 1.0.0
- ページ数: 60ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス NextPublishing
対象読者
レガシー化したAndroidのソースコードを今どきのMVPに置き換えたいが何から手を付ければいいかわからない、MVPにしてみたけどPresenterにView側の処理が入り込んだり、何が変わったかわからない、MVPにしてみたけど結局テストコードが書けない、Dagger2やRxJavaを使わないとテストは書けないと思っている方
著者について
高畑 匡秀
株式会社NewspicksでAndroidアプリを中心にサーバーサイドの開発に携わる。テストコードをどうやったら書けるようになるのか考えるのが好き。
目次
第1章 本書でのMVP
- MVPとは?
- MVPのパッケージ構成
- 本書で使用するmockライブラリー
第2章 MVP化の心得
- 心得1:ViewとPresenterのインターフェースを「声に出して」抽出する
- 心得2:可能な限りViewにifを書かない
- 心得3:Presenterのビジネスロジックの心得
- 心得4:Humble Objectパターン
第3章 シングルトンの依存切り離し
- シングルトンクラスの辛いところ
- コンストラクタインジェクション
- 静的setメソッドの導入
- インターフェースの抽出
- ラップクラスで包む
- シングルトンクラスのメソッドにContextの引数が……
- この章のまとめ
第4章 staticメソッド依存の排除
- staticメソッドの辛いところ
- 普通のクラスに変える
- 移譲用インスタンスメソッドの導入
- ラップクラス
- すべてのstaticが悪ではない
第5章 コールバックをテスト
- インターフェースコールバックをテストする
- Timer処理もテストする
- 余裕があればリポジトリーパターンに置き換え
第6章 外部ライブラリー依存
- サードパーティのライブラリーをそのまま使ってはいけない
- ラップクラスで包むまたはリポジトリーパターンに置き換え
- コンストラクタインジェクションする
第7章 MVPを実践してみる
- 太ったActivityのMVPへ置き換える
- 次のステップへ