Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
Introduction for Browser Side MVC
Ryunosuke SATO
Grid application テンプレートを紐解く
Kazuhide Maruyama
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
Tomoharu ASAMI
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
Tomoharu ASAMI
Windows ストアアプリのつくりかた (JS + HTML + CSS)
Yu Nobuoka
GUI アプリケーションにおける MVC
Yu Nobuoka
iOS 9 Bootcamp #6 UIKit
Shingo Hiraya
JPAの基礎と現場で役立つ開発Tips
yuichi_kuwahara
1
of
29
Top clipped slide
Mvcのすすめ
Apr. 17, 2013
•
0 likes
1 likes
×
Be the first to like this
Show More
•
1,185 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Akura Pi
Follow
株式会社プラスアール
Advertisement
Advertisement
Advertisement
Recommended
Study Intro Backbone
Gensei Kawasaki
216 views
•
13 slides
Storyboard
Akura Pi
1.4K views
•
13 slides
React+TypeScriptもいいぞ
Mitsuru Ogawa
11K views
•
28 slides
20130316 mix cpp-yuo
OKUBO_Yusuke
2.7K views
•
32 slides
MVVM入門
Kazutoshi Urabe
7.7K views
•
13 slides
GUIのアーキテクチャ
Kentaro Inomata
1.2K views
•
14 slides
More Related Content
Similar to Mvcのすすめ
(20)
Introduction for Browser Side MVC
Ryunosuke SATO
•
3.6K views
Grid application テンプレートを紐解く
Kazuhide Maruyama
•
426 views
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
Tomoharu ASAMI
•
68 views
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
Tomoharu ASAMI
•
46 views
Windows ストアアプリのつくりかた (JS + HTML + CSS)
Yu Nobuoka
•
3.6K views
GUI アプリケーションにおける MVC
Yu Nobuoka
•
8.2K views
iOS 9 Bootcamp #6 UIKit
Shingo Hiraya
•
2.4K views
JPAの基礎と現場で役立つ開発Tips
yuichi_kuwahara
•
2.1K views
2012 05-19第44回cocoa勉強会発表資料
OCHI Shuji
•
1.2K views
Qc astah 連携について012
Kei Nakahara
•
1.3K views
20121201yidev hirobe iPad miniでRetina
Kazuya Hirobe
•
1.9K views
企業におけるSpring@日本springユーザー会20090624
Yusuke Suzuki
•
1.9K views
オンプレでもクラウドでも データベースサーバの運用
elanlilac
•
4.6K views
Android Architecture
shinnosuke kugimiya
•
1.8K views
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
Tomoharu ASAMI
•
53 views
TableViewAgent
Akura Pi
•
970 views
2013 Ignite UI 最新情報 in 岡山
インフラジスティックス・ジャパン株式会社
•
1.3K views
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
Developers Summit
•
2.8K views
MySQL Workbench 6.1 の紹介
yoyamasaki
•
3.9K views
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
Mami Shiino
•
1.2K views
More from Akura Pi
(10)
Githubサービスについて
Akura Pi
•
58 views
Slide
Akura Pi
•
554 views
フィア・オブ・ジ・アンノウン
Akura Pi
•
2.3K views
ナイーブツリーの入れ子集合
Akura Pi
•
972 views
ファントムファイル
Akura Pi
•
3.2K views
そもそもFloatとは
Akura Pi
•
585 views
Metaprogramming
Akura Pi
•
829 views
Ns user defaults
Akura Pi
•
558 views
Currying
Akura Pi
•
763 views
Groovy base
Akura Pi
•
498 views
Advertisement
Mvcのすすめ
MVCのすすめ @akuraru
今回の目的 • バグを減らしたい • テストがしたい •
テストの仕方がわからない • テストしやすい構造で作る
アクティビティ
レイアウト 画面
ありがちのこと • レイアウトを作る • とりあえずアクティビティに実装する •
さらにアクティビティに実装する • できたバンザイ • MVCなにそれ!?
テストできない • 操作→情報処理→状態変化→表示 テストできる
• 情報処理 • 情報処理→状態変化
アクティビティ
レイアウト 画面
←テストできる モデル
アクティビティ レイアウト 画面
MVC • Model-View-Controllerの略 • モデルからプレゼンテーションの分離 •
ビューとコントローラーの分離
モデルからプレゼンテーションの分離 テストしやすい部分
と テストしにくい部分
テストしやすい部分 • 単純な変換 (文字列処理とか) • DBアクセス •
状態変化
テストしにくい部分 • 見た目 • ボタンを押す •
画面遷移 • 機種依存
ビューとコントローラーの分離
見た目 と 操作
見た目 • ボタン • 画像 •
テキスト • その他いろいろ
操作 • テキストを入力→文字列処理 • ボタンを押す→状態が変わる •
セーブボタン→DBアクセス
テストしやすい テストしにくい
操作 見た目
Model プレゼンテーション
Controller View
Model
操作 状態参照 通知 プレゼンテーション Controller 変更 View 入力・操作 表示 ユーザー
今回は ViewとControllerの分離を
がんばらない
分離しても テストしやすくならないし
Model
操作 状態参照 通知 プレゼンテーション Controller 変更 View 入力・操作 表示 ユーザー
Model
操作 状態参照 プレゼンテーション 入力・操作 表示 ユーザー
モデル
アクティビティ レイアウト 画面
今まで
インテント インテント アクティビティ アクティビティ アクティビティ レイアウト レイアウト レイアウト
DB
一時保存 インテント インテント アクティビティ アクティビティ アクティビティ レイアウト レイアウト レイアウト
DB
一時保存 テストできる ↑ インテント インテント アクティビティ ↓ アクティビティ アクティビティ テストできない レイアウト レイアウト レイアウト
DB
一時保存 モデル モデル モデル インテント インテント アクティビティ アクティビティ アクティビティ レイアウト レイアウト レイアウト
Model • DBアクセス • 状態を持つ •
情報処理 • CUIでもGUIでも同じものを使えるようにしようと書いてあるけど, テストしやすければよい
プレゼンテーション • 操作 • →モデルに通知 •
→必要に応じて遷移 • →モデルに状態に応じて再描画
まとめ • アクティビティにすべてを書かない • テストしやすい構造を意識する •
できたらViewとControllerを分けて考え る
Advertisement