Submit Search
Upload
Model View Presenter for Android
•
12 likes
•
7,327 views
shinnosuke kugimiya
Follow
Model View Presenter for Android
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 21
Download now
Download to read offline
Recommended
Android Architecture
Android Architecture
shinnosuke kugimiya
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
iOS アプリのメンテナンス性を高めるための基本的な考え方
iOS アプリのメンテナンス性を高めるための基本的な考え方
kakegawa-atsushi
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
Ken Morishita
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
Taketo Sano
Visual studio 2013 Overview
Visual studio 2013 Overview
一希 大田
MVCもやもや話
MVCもやもや話
Tetsuya Kaneuchi
Recommended
Android Architecture
Android Architecture
shinnosuke kugimiya
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
iOS アプリのメンテナンス性を高めるための基本的な考え方
iOS アプリのメンテナンス性を高めるための基本的な考え方
kakegawa-atsushi
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
Ken Morishita
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
Taketo Sano
Visual studio 2013 Overview
Visual studio 2013 Overview
一希 大田
MVCもやもや話
MVCもやもや話
Tetsuya Kaneuchi
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
今城 善矩
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
MVVM入門
MVVM入門
Kazutoshi Urabe
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
Yuichi Adachi
Windows ストア アプリの上手な作り方
Windows ストア アプリの上手な作り方
一希 大田
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
一希 大田
WPF MVVM Review
WPF MVVM Review
Takayuki Kondou
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
AngularJSについて
AngularJSについて
昌生 高橋
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
ng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターン
Hayashi Yuichi
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
MVC の Model を考える
MVC の Model を考える
tomo_masakura
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Tomoaki Imai
Erlang で再帰
Erlang で再帰
snow long
More Related Content
What's hot
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
今城 善矩
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
MVVM入門
MVVM入門
Kazutoshi Urabe
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
Yuichi Adachi
Windows ストア アプリの上手な作り方
Windows ストア アプリの上手な作り方
一希 大田
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
一希 大田
WPF MVVM Review
WPF MVVM Review
Takayuki Kondou
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
AngularJSについて
AngularJSについて
昌生 高橋
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
ng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターン
Hayashi Yuichi
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
MVC の Model を考える
MVC の Model を考える
tomo_masakura
What's hot
(20)
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
MVVM入門
MVVM入門
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
Windows ストア アプリの上手な作り方
Windows ストア アプリの上手な作り方
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
WPF MVVM Review
WPF MVVM Review
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
AngularJSについて
AngularJSについて
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
ng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターン
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
MVC の Model を考える
MVC の Model を考える
Viewers also liked
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Tomoaki Imai
Erlang で再帰
Erlang で再帰
snow long
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
Taketo Sano
Rust言語
Rust言語
健太 田上
為什麼Method數超過65535會build fail?
為什麼Method數超過65535會build fail?
Chih-Chung Lee
Android architecture blueprints overview
Android architecture blueprints overview
Chih-Chung Lee
大型App面臨的挑戰
大型App面臨的挑戰
Chih-Chung Lee
Android cleanarchitecture
Android cleanarchitecture
Tomoaki Imai
Cracking the Facebook Coding Interview
Cracking the Facebook Coding Interview
Gayle McDowell
Mvc
Mvc
Shutaro Anno
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
ブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデル
Yuta Hiroto
HTC RE Camera 開發分享
HTC RE Camera 開發分享
Chih-Chung Lee
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
shinnosuke kugimiya
データバインディング徹底攻略
データバインディング徹底攻略
Hiroyuki Mori
20150228 Realm超入門
20150228 Realm超入門
Kei Ito
例外處理設計
例外處理設計
Chih-Chung Lee
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
Masafumi Terazono
Realmについて
Realmについて
Yuki Asano
ゲーム開発とMVC
ゲーム開発とMVC
Takashi Komada
Viewers also liked
(20)
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Erlang で再帰
Erlang で再帰
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
Rust言語
Rust言語
為什麼Method數超過65535會build fail?
為什麼Method數超過65535會build fail?
Android architecture blueprints overview
Android architecture blueprints overview
大型App面臨的挑戰
大型App面臨的挑戰
Android cleanarchitecture
Android cleanarchitecture
Cracking the Facebook Coding Interview
Cracking the Facebook Coding Interview
Mvc
Mvc
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
ブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデル
HTC RE Camera 開發分享
HTC RE Camera 開發分享
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
データバインディング徹底攻略
データバインディング徹底攻略
20150228 Realm超入門
20150228 Realm超入門
例外處理設計
例外處理設計
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
Realmについて
Realmについて
ゲーム開発とMVC
ゲーム開発とMVC
Similar to Model View Presenter for Android
20130316 mix cpp-yuo
20130316 mix cpp-yuo
OKUBO_Yusuke
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方
Kazuki Shibata
Mvpvm pattern
Mvpvm pattern
Mami Shiino
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
What's MVP
What's MVP
Takaaki Suzuki
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
masakazusegawa
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
Mami Shiino
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
normalian
MvvmCross 入門
MvvmCross 入門
jz5 MATSUE
Prism for windows runtime入門
Prism for windows runtime入門
一希 大田
AudioタグとBingTranslatorAPIで音声翻訳アプリ
AudioタグとBingTranslatorAPIで音声翻訳アプリ
Daisuke Yamazaki
Similar to Model View Presenter for Android
(12)
20130316 mix cpp-yuo
20130316 mix cpp-yuo
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方
Mvpvm pattern
Mvpvm pattern
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
What's MVP
What's MVP
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
MvvmCross 入門
MvvmCross 入門
Prism for windows runtime入門
Prism for windows runtime入門
AudioタグとBingTranslatorAPIで音声翻訳アプリ
AudioタグとBingTranslatorAPIで音声翻訳アプリ
More from shinnosuke kugimiya
Coordinator Layout Behavior
Coordinator Layout Behavior
shinnosuke kugimiya
Framework code reading
Framework code reading
shinnosuke kugimiya
読むと怖くないDagger2
読むと怖くないDagger2
shinnosuke kugimiya
このあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMした
shinnosuke kugimiya
just one line
just one line
shinnosuke kugimiya
これからの設計の話をしよう
これからの設計の話をしよう
shinnosuke kugimiya
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
shinnosuke kugimiya
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
shinnosuke kugimiya
開発効率アンチパターン
開発効率アンチパターン
shinnosuke kugimiya
Reactive android
Reactive android
shinnosuke kugimiya
More from shinnosuke kugimiya
(10)
Coordinator Layout Behavior
Coordinator Layout Behavior
Framework code reading
Framework code reading
読むと怖くないDagger2
読むと怖くないDagger2
このあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMした
just one line
just one line
これからの設計の話をしよう
これからの設計の話をしよう
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
開発効率アンチパターン
開発効率アンチパターン
Reactive android
Reactive android
Model View Presenter for Android
1.
Model View Presenter for Android
2.
自己紹介
3.
釘宮 愼之介 /
@kgmyshin 自己紹介 ・ Androidエンジニア ! 福岡県出身 ! 5月からフリーランスか転職か 勉強会(ダンジョン)に出会いを求めるのは間違っているだろうか
4.
ところで、 特に去年くらいから MVPって 聞きませんか?
5.
6.
7.
8.
そもそもMVPとは?
9.
基本的にはMVCなんだけど、 違いとしては Viewがユーザからのイベントを 一切処理せずに 全てPresenterに移譲して ModelにはPresenterからアクセスする というのがある
10.
ドメイン層 プレゼンテーション層 Presenter Model View タッチなどのイベント 移譲 然るべき Modelのinterfaceをcall ModelからのfeedbackはObserverPatterを用いて、View or Presenterへ通知するか 呼び出したPresenterにCallbackで返却するかのどちらでも良いと思う。 セオリーは前者だけど、githubのソースとか見ると後者の方が多い感じ。 return return値をもとに Viewを操作
11.
なぜ今 MVPなのか?
12.
AndroidでMVCを 適用する際の問題点
13.
Activity (Fragment)を Controllerか Viewか 奇麗に分けきれない
14.
ControllerなのかViewなのかで たまに言い争ってるのを みかけることもしばしば。
15.
android best practicesでも activityとfragmentって Controllerでもあるし Viewでもあるよねって言ってる。 https://github.com/futurice/android-best-practices
16.
多重責務
17.
でも MVPで設計すれば この問題は解消される
18.
なぜなら、 Activityから Controller足り得る要素を 完全に抜き取って Viewにすることができるから
19.
ドメイン層 プレゼンテーション層 Controller Model View タッチなどのイベント Activityが この位置に居るので Model関連の処理を Activityに書く事になる Model View Controller Activity
20.
ドメイン層 プレゼンテーション層 Presenter Model View タッチなどのイベント Activityが この位置に居るので Modelと疎になり 書くべき事が減る 移譲 Model View Presenter Activity
21.
MVPを用いる事で Activity(Fragment)は 明確にViewになる まとめ ・ ・ その結果、Activityが煩雑に なりづらくなる
Download now