ぶろぐめんどくさい

技術系の記事と漫画レビューが入り混じった混沌

MVCモデルとはニュース番組のモデル「事象・キャスター・脚色」と同一である

MVCモデルというものがある。 MVCモデルはWebアプリケーションの開発でよく使われる概念である。 MVCモデルの利点は、メンテナンス性を向上させることができるところにある。 MVCモデルがどのようにメンテナンス性を向上させるのか。 MVCモデルはWebアプリケーションの構造をModel層、View層、Controller層の3つの層に役割分割をしている。 Webアプリケーションの挙動を一箇所に集約するのではなく、3つの層に分割することで、いずれかの層に異常があった場合、異常のある層だけを修正することでWebアプリケーション全体をメンテナンスすることができる。

MVCモデルには3つの層による役割分割によりメンテナンス性を向上させる利点がある一方で、 それぞれの層に与えられている役割をちゃんと理解していないといけない。 本記事では、MVCモデルをWebアプリケーションではなくニュース番組に例えて、概念的な理解を促す。

f:id:be116:20180518070732p:plain

MVCモデルをニュース番組に例えると以下のようになる。

まず、「モデル」は「事象」である。 交通事故や殺人事件、山口メンバーなどがこれにあたる。 順番が前後するが次は、「コントローラー」、つまり「脚色」である。 一般的なニュース番組では「事象」をそのまま放送することはない。 時間が限られているため不要な部分をカットしたり、自分たちの伝えたい「事象」とは異なるため不都合な部分をカットしたり、「事象」は発信者の都合のいい形に「脚色」される。 また、出演者個人の感想など、ある程度「脚色」が加えられる場合もあるかもしれない。 ジャニーズの圧力がかかったり、犯人はアニメ好きだったという情報が付け加えられることもある。 次に「ビュー」は「キャスター」である。 「キャスター」は「脚色」された「事象」、つまりニュースをそのまま伝える。 一言一句たぐわないし、噛むこともない。 とにかく与えられた原稿を時間どおりに読み、視聴者に伝える。 「キャスター」には視聴者に情報を伝える権限を与えられているが、伝えられる情報は原稿にあるものに限られる。 「モデル・事象」と「コントローラー・脚色」と「ビュー・キャスター」の3層構造でニュース番組は成り立つ。 例えば、ビュー層でエラーが起きた、キャスターが噛み噛みだったという状況には、キャスターを変更したり、噛まないように練習したりするだけでよい。 事象も脚色もこのエラーには関与しない。 このような3層構造がMVCモデルのメンテナンス性を向上させている。

以上の説明はあくまでも概念的なものである。 可能であればちゃんとした文献を漁り、ちゃんとした知識を身に着けてほしい。 この記事はあくまでもその足がかりである。