SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
MVCの次は・・・

                    ID:NetPenguin
        Mail:keita.iseki@gmail.com
 http://d.hatena.ne.jp/NetPenguin/
MVC
• システム全体をモデル/ビュー/コントロー
  ラに分割
• M=システムの本質的な部分を表現する
  サービス層やドメインモデルなど
• V=システムとユーザのインタフェース
• C=MとVをつなぐ部分
  入力を適切な形でMに伝える
何が問題?
• もともとのMVCと解釈が違ってきている
 開発する上では問題ではない。
 そもそも何を満たしたらMVCなのか?
 定義が明確ではない


• システム全体をM/V/Cの三つに分けるた
  め、システムが大きくなると扱いづらい
MVC以外のアーキテクチャ
•   PAC
•   RecursiveMVC(=HMVC)
•   MMVC
                 MVC以外にもあるんだよ!
•   Doc/View       というのを伝えたかった
PAC
• エージェントと呼ばれる概念
 – エージェントは複数存在
 – 親子関係を持つ  ・親画面と子画面をそれぞれエージェントとする
                  ・画面内でも各区画をエージェントとする
                  など、分割統治により複雑性を抑える(たぶん)


• エージェントはPACで構成される
 – Presentation
 – Abstraction
 – Control
PAC-エージェント

         エージェント




エージェント            エージェント




         エージェント            エージェント
PAC-Presentation
• エージェントの内容を表現する(UI)
• Controlとだけやり取りする
PAC-Abstraction
• エージェントのデータを管理する
• Controlとだけやり取りする
PAC-Control
• 他のエージェントとやり取りする
• PresentationとAbstractionを仲立ちする

              P        C   A

                  エージェント




    P     C        A

        エージェント
RecursiveMVC
• MVCを階層化して扱う
• PACを変形した状態
MMVC
• MVCの改良
             調査不足により詳細不明
• モデルが二種類
 – Domain Model
 – Application Model
   GUIをカプセル化してDomain Modelに適合
   するようにしたもの
   (ViewHelperみたなもの?)
Doc/View
• なつかしのMFCで使われていた
• データとビューに分離
• Docの変更をViewに通知
  Viewを実現するために必要なDocを
  考えるあたりがMVCと違う。Viewが主体。
参考URL
• http://d.hatena.ne.jp/noopable/20090209/1234125202
• http://c2.com/cgi/wiki?RecursiveModelViewController
• http://c2.com/cgi/wiki?ModelModelViewController
• http://www.cue.im.dendai.ac.jp/~masuda/mvc/index.html
• http://www.jac-net.com/~tarzan/smalltalkers/mvc/mvc.html

Weitere ähnliche Inhalte

Andere mochten auch

Using videos in English class
Using videos in English classUsing videos in English class
Using videos in English classMr. Euc@s
 
Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...
Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...
Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...OW2
 
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...OW2
 
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2
 
European Open Data Portal and Policy Compass: from national Open Data reposit...
European Open Data Portal and Policy Compass: from national Open Data reposit...European Open Data Portal and Policy Compass: from national Open Data reposit...
European Open Data Portal and Policy Compass: from national Open Data reposit...OW2
 
OW2 Next Gen Quality Program
OW2 Next Gen Quality ProgramOW2 Next Gen Quality Program
OW2 Next Gen Quality ProgramOW2
 
Cloud and Grid Integration OW2 Conference Nov10
Cloud and Grid Integration OW2 Conference Nov10Cloud and Grid Integration OW2 Conference Nov10
Cloud and Grid Integration OW2 Conference Nov10OW2
 
Mobile integration
Mobile integrationMobile integration
Mobile integrationwall530
 
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.  AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris. OW2
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.comMatthew Chang
 
Itf ipp ch07_2012_final
Itf ipp ch07_2012_finalItf ipp ch07_2012_final
Itf ipp ch07_2012_finaldphil002
 
Itf ipp ch06_2012_final
Itf ipp ch06_2012_finalItf ipp ch06_2012_final
Itf ipp ch06_2012_finaldphil002
 
OtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology TransfertOtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology TransfertOW2
 
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, ParisDev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, ParisOW2
 
VideoLabs: business around VLC, OW2con'16, Paris.
VideoLabs: business around VLC, OW2con'16, Paris. VideoLabs: business around VLC, OW2con'16, Paris.
VideoLabs: business around VLC, OW2con'16, Paris. OW2
 
nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...
nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...
nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...OW2
 

Andere mochten auch (20)

Using videos in English class
Using videos in English classUsing videos in English class
Using videos in English class
 
Tabacundo 2010
Tabacundo 2010Tabacundo 2010
Tabacundo 2010
 
Ayora 2010
Ayora 2010Ayora 2010
Ayora 2010
 
Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...
Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...
Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW...
 
Octavas 2010
Octavas 2010Octavas 2010
Octavas 2010
 
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
 
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
 
European Open Data Portal and Policy Compass: from national Open Data reposit...
European Open Data Portal and Policy Compass: from national Open Data reposit...European Open Data Portal and Policy Compass: from national Open Data reposit...
European Open Data Portal and Policy Compass: from national Open Data reposit...
 
OW2 Next Gen Quality Program
OW2 Next Gen Quality ProgramOW2 Next Gen Quality Program
OW2 Next Gen Quality Program
 
Cloud and Grid Integration OW2 Conference Nov10
Cloud and Grid Integration OW2 Conference Nov10Cloud and Grid Integration OW2 Conference Nov10
Cloud and Grid Integration OW2 Conference Nov10
 
Mobile integration
Mobile integrationMobile integration
Mobile integration
 
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.  AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.com
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Itf ipp ch07_2012_final
Itf ipp ch07_2012_finalItf ipp ch07_2012_final
Itf ipp ch07_2012_final
 
Itf ipp ch06_2012_final
Itf ipp ch06_2012_finalItf ipp ch06_2012_final
Itf ipp ch06_2012_final
 
OtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology TransfertOtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology Transfert
 
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, ParisDev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
 
VideoLabs: business around VLC, OW2con'16, Paris.
VideoLabs: business around VLC, OW2con'16, Paris. VideoLabs: business around VLC, OW2con'16, Paris.
VideoLabs: business around VLC, OW2con'16, Paris.
 
nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...
nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...
nuage, deployment strategy of a distributed cloud infrastructure, OW2con'15, ...
 

Ähnlich wie MVCのつぎは・・・

T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門normalian
 
MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考えるtomo_masakura
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうShun Hikita
 
Separate Model from Catalyst
Separate Model from CatalystSeparate Model from Catalyst
Separate Model from Catalysttechmemo
 
MVCになぞらえて理解するReact
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReactiPride Co., Ltd.
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCYu Nobuoka
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方Kazuki Shibata
 
Djangoとは
DjangoとはDjangoとは
DjangoとはGomamatsu
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVCjz5 MATSUE
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRshinnosuke kugimiya
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】Tomoharu ASAMI
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
Asp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソAsp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソYoshitaka Seo
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~Yoshitaka Seo
 
MvvmCross 入門
MvvmCross 入門MvvmCross 入門
MvvmCross 入門jz5 MATSUE
 
ブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデルブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデルYuta Hiroto
 
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよクライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよSeki Yousuke
 

Ähnlich wie MVCのつぎは・・・ (20)

T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
 
MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考える
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 
Separate Model from Catalyst
Separate Model from CatalystSeparate Model from Catalyst
Separate Model from Catalyst
 
MVCになぞらえて理解するReact
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReact
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方
 
Djangoとは
DjangoとはDjangoとは
Djangoとは
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
MVVM入門
MVVM入門MVVM入門
MVVM入門
 
Asp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソAsp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソ
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
 
MvvmCross 入門
MvvmCross 入門MvvmCross 入門
MvvmCross 入門
 
20100218
2010021820100218
20100218
 
ブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデルブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデル
 
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよクライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
 

MVCのつぎは・・・