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

Mvcについて