レガシーなコードを、MVPで分割してテスト可能に変える!『テストが書けない人のAndroid MVP』発行 技術書典シリーズ、12月の新刊
[18/12/28]
提供元:PRTIMES
提供元:PRTIMES
インプレスグループで電子出版事業を手がける株式会社インプレスR&Dは、『テストが書けない人のAndroid MVP』(著者:高畑 匡秀)を発行いたしました。
『テストが書けない人のAndroid MVP』
https://nextpublishing.jp/isbn/9784844398714
[画像1: https://prtimes.jp/i/5875/2519/resize/d5875-2519-692442-0.jpg ]
著者:高畑 匡秀
小売希望価格:電子書籍版 1400円(税別)/印刷書籍版 1600円(税別)
電子書籍版フォーマット:EPUB3/Kindle Format8
印刷書籍版仕様:B5判/カラー/本文60ページ
ISBN:978-4-8443-9871-4
発行:インプレスR&D
<<発行主旨・内容紹介>>
【レガシーなコードをMVPで分割してテスト可能に変える!】
本書は多くのプロジェクトで運用されているレガシーなコードをリファクタリングし、将来的にモダンなコードとしていくために必要なテストコードの書き方を解説したガイドブックです。
将来的にDagger2に置き換えることを目標としつつ、いくつかのレガシーパターンのリファクタリング例を紹介しています。
〈本書の想定読者〉
・レガシー化したAndroidのソースコードを今どきのMVPに置き換えたいが何から手を付ければいいかわからない
・MVPにしてみたけどPresenterにView側の処理が入り込んだり、何が変わったかわからない
・MVPにしてみたけど結局テストコードが書けない
・Dagger2やRxJavaを使わないとテストは書けないと思っている
(本書は、次世代出版メソッド「NextPublishing」を使用し、出版されています。)
MVPの基本的な知識から丁寧に解説
[画像2: https://prtimes.jp/i/5875/2519/resize/d5875-2519-677103-1.jpg ]
MVP化する際の心得を4つにまとめて紹介
[画像3: https://prtimes.jp/i/5875/2519/resize/d5875-2519-938423-2.jpg ]
実際のコードのMVP化についてサンプルを題材に学習
[画像4: https://prtimes.jp/i/5875/2519/resize/d5875-2519-408063-3.jpg ]
<<目次>>
第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へ置き換える
・次のステップへ
<<著者紹介>>
高畑 匡秀(たかはた まさひで)
株式会社NewspicksでAndroidアプリを中心にサーバーサイドの開発に携わる。テストコードをどうやったら書けるようになるのか考えるのが好き。
<<販売ストア>>
電子書籍:
Amazon Kindleストア、楽天koboイーブックストア、Apple Books、紀伊國屋書店 Kinoppy、Google Play Store、
honto電子書籍ストア、Sony Reader Store、BookLive!、BOOK☆WALKER
印刷書籍:
Amazon.co.jp、三省堂書店オンデマンド、hontoネットストア、楽天ブックス
※ 各ストアでの販売は準備が整いしだい開始されます。
※ 全国の一般書店からもご注文いただけます。
【株式会社インプレスR&D】 https://nextpublishing.jp/
株式会社インプレスR&D(本社:東京都千代田区、代表取締役社長:井芹昌信)は、デジタルファーストの次世代型電子出版プラットフォーム「NextPublishing」を運営する企業です。また自らも、NextPublishingを使った「インターネット白書」の出版などIT関連メディア事業を展開しています。
※NextPublishingは、インプレスR&Dが開発した電子出版プラットフォーム(またはメソッド)の名称です。電子書籍と印刷書籍の同時制作、プリント・オンデマンド(POD)による品切れ解消などの伝統的出版の課題を解決しています。これにより、伝統的出版では経済的に困難な多品種少部数の出版を可能にし、優秀な個人や組織が持つ多様な知の流通を目指しています。
【インプレスグループ】 https://www.impressholdings.com/
株式会社インプレスホールディングス(本社:東京都千代田区、代表取締役:唐島夏生、証券コード:東証1部9479)を持株会社とするメディアグループ。「IT」「音楽」「デザイン」「山岳・自然」「旅・鉄道」「学術・理工学」を主要テーマに専門性の高いメデイア&サービスおよびソリューション事業を展開しています。さらに、コンテンツビジネスのプラットフォーム開発・運営も手がけています。
【お問い合わせ先】
株式会社インプレスR&D NextPublishingセンター
TEL 03-6837-4820
電子メール: np-info@impress.co.jp