SlideShare a Scribd company logo
MVCについて
  藤川 康之




          1
MVCの基本




         2
MVCモデルで設計された「なにかのシステム」があるとします。
   処理の内容は、申し込みをした情報を処理するだけです。



ビュー:画面を表示します。   コントローラ:処理を制御します。   モデル:データの管理と処理をします。



      V                C                   M




                                                        3
処理の順序




   申し込みます
                            待機中
                                  待機中
            必要な項目を書いて
             ボタン押してね


        V               C               M




                                            4
処理の順序




            処理発生

             !                        待機中
                       処理が発生した!




        V          C              M




                                            5
処理の順序




            よろしく。       おまかせ!   暇だなぁ



            入力
        V           C                  M
            内容




                                           6
処理の順序




                     これ、よろしく!
             結果を
                                             わかりました。
            待ってます。


                                    入力
        V                       C        M
                                    内容




                                                       7
処理の順序




             結果を      結果を
                                           登録!
            待ってます。   待ってます。


                                      入力
        V                     C   M
                                      内容




                                                 8
処理の順序




                     了解です。
             結果を     ありがとう!
                                           処理結果です。
            待ってます。


                                  処理
        V                     C        M
                                  結果




                                                     9
処理の順序




            わかりました。       処理結果です。   待機中



                 処理
        V             C                   M
                 結果




                                              10
処理の順序




処理結果を表示する
                待機中       待機中
 !



        V   C         M




                                11
モデル、ビュー、コントローラは、お互いに協力し合いながら処理を行っています。
誰か1人でも欠けたら、このシステムは動きません。



ビュー:画面を表示します。   コントローラ:処理を制御します。   モデル:データの管理と処理をします。



      V                C                   M




                                                        12
重要
                3人が3人とも自分の仕事だけに集中し、
                他の人の仕事にはいっさい関与していない



ビュー:画面を表示します。     コントローラ:処理を制御します。   モデル:データの管理と処理をします。



      V                  C                   M




                                                          13
ビュー:ユーザーからの入力受付を行います。
    コントローラに処理を依頼しますが、
    具体的な処理の内容は知りません。



            V




                        14
コントローラ:定義の中に「データを処理せよ」という
       内容があったらモデルに依頼しますが、
       モデルがどのようにデータを
       処理しているのかは知りません。


               C




                            15
モデル:モデルは、コントローラが
    どのような処理をしたのかは知りません。
    コントローラから依頼されただけです。
    また、ビューが何をしたか、知るよしもありません。


               M




                               16
これがMVCモデルです。




               17
実際にプログラムを見てみよう!




                  18
システムの改修




          19
ある日、このシステムを作った開発者は、
                   良くしたいと考えました。



ビュー:画面を表示します。     コントローラ:処理を制御します。   モデル:データの管理と処理をします。



      V                  C                   M




                                                          20
開発者は、モデル、ビュー、コントローラを別々に呼び出し
           それぞれの改修ポイントをその人だけに伝えました。



ビュー:画面を表示します。   コントローラ:処理を制御します。   モデル:データの管理と処理をします。



      V                C                   M




                                                        21
インタフェースのデザイン
                   承知しました。
  を変更しよう




               V             M   C




                                     22
処理を追加しよう。       承知しました。




V               M             C




                                  23
処理が増えたから
                            承知しました。
        コントローラも変更しよう。
M

    V                   C

M




                                      24
処理の順序




                            待機中

   申し込みます
            必要な項目を書いて
             ボタン押してね              M

        V               C   待機中
              新しい自分


                                  M




                                      25
処理の順序




                                       待機中
            処理発生

             !
                        処理が発生した!
                                   M

        V           C                  待機中

            新しい自分


                                   M




                                             26
処理の順序




                                    待機中




            よろしく。       おまかせ!
                                M

            入力
        V           C               待機中
            内容

                                M




                                          27
処理の順序




                                            暇だなぁ


                        これ、よろしく!
             結果を
            待ってます。                                 M

                                       入力
        V                          C                   わかりました。
                                       内容
                     新しい処理へ渡そう

                                                   M




                                                                 28
処理の順序




                                       暇だなぁ


             結果を      結果を
            待ってます。   待ってます。       M

        V                     C            登録!



                                      入力
                                  M
                                      内容


                                      新しい処理でやる!




                                                  29
処理の順序




                                            暇だなぁ
                     了解です。
             結果を     ありがとう!
            待ってます。                     M

        V                     C            処理結果です。



                                  処理
                                       M
                                  結果




                                                     30
処理の順序




                                    待機中


            わかりました。       処理結果です。

                                          M
                 処理
        V             C
                 結果                 待機中



                                          M




                                              31
処理の順序




                      待機中
処理結果を表示する
                待機中
 !
                            M
        V   C
                      待機中



                            M




                                32
実際にプログラムを見てみよう!




                  33
参考サイト
http://hijiriworld.com/web/mvc-concept/




                                          34

More Related Content

More from Yasuyuki Fujikawa

アジャイルプラクティス_インセプションデッキ
アジャイルプラクティス_インセプションデッキアジャイルプラクティス_インセプションデッキ
アジャイルプラクティス_インセプションデッキ
Yasuyuki Fujikawa
 
アジャイルプラクティス_プラニングポーカー
アジャイルプラクティス_プラニングポーカーアジャイルプラクティス_プラニングポーカー
アジャイルプラクティス_プラニングポーカー
Yasuyuki Fujikawa
 
アジャイルプラクティス_ユーザーストーリー
アジャイルプラクティス_ユーザーストーリーアジャイルプラクティス_ユーザーストーリー
アジャイルプラクティス_ユーザーストーリーYasuyuki Fujikawa
 
CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発
CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発
CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発
Yasuyuki Fujikawa
 
アイデアのつくり方を読んで(Lt用)
アイデアのつくり方を読んで(Lt用)アイデアのつくり方を読んで(Lt用)
アイデアのつくり方を読んで(Lt用)
Yasuyuki Fujikawa
 
アジャイルカンファTokyoの共有
アジャイルカンファTokyoの共有アジャイルカンファTokyoの共有
アジャイルカンファTokyoの共有Yasuyuki Fujikawa
 

More from Yasuyuki Fujikawa (6)

アジャイルプラクティス_インセプションデッキ
アジャイルプラクティス_インセプションデッキアジャイルプラクティス_インセプションデッキ
アジャイルプラクティス_インセプションデッキ
 
アジャイルプラクティス_プラニングポーカー
アジャイルプラクティス_プラニングポーカーアジャイルプラクティス_プラニングポーカー
アジャイルプラクティス_プラニングポーカー
 
アジャイルプラクティス_ユーザーストーリー
アジャイルプラクティス_ユーザーストーリーアジャイルプラクティス_ユーザーストーリー
アジャイルプラクティス_ユーザーストーリー
 
CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発
CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発
CodeGrid2周年記念パーティ_ライトニングトーク_アジャイル開発
 
アイデアのつくり方を読んで(Lt用)
アイデアのつくり方を読んで(Lt用)アイデアのつくり方を読んで(Lt用)
アイデアのつくり方を読んで(Lt用)
 
アジャイルカンファTokyoの共有
アジャイルカンファTokyoの共有アジャイルカンファTokyoの共有
アジャイルカンファTokyoの共有
 

Recently uploaded

論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (8)

論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Mvcについて