最初に
カレンダー企画2020の14日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。
Ruby on Railsの「MVC」についてまとめてみる
Ruby on Railsは、MVC
という考え方で構成されている。
M:Model(モデル)
V:View(ビュー)
C:Controller(コントローラー)
それぞれに役割を分けてプログラムのメンテナンスをする時にしやすくしたり、複数人で作業をする時に影響が出にくい。
Model
アプリケーションのデータを取り扱う場所。データベースに対してデータの登録や取得、更新、削除などといった処理を役割として担っている。
たとえば
データベースという巨大な倉庫を管理しているイメージかな。
必要な時に必要な情報を取り出したり、しまったりしてくれる感じです。
View
パソコンの画面に関わる部分です。使う側(user)が目にするところです。ブラウザに表示させるHTMLを組み立てる場所。
たとえば
配達員のイメージかな
注文を受けたものをお客様に届ける感じ
お客様が頼んでいないものを勝手に届ける事はない
Controller
ModelやViewを統合的にコントロールしている場所。
userが見たいページをクリックしたら、最初にControllerが受け取り、Modelと連携をして必要な情報をデータベースから引き出し、それをViewを使って表示させるみたな流れをコントロールしているのがControllerの役割
たとえば
司令塔みたいなイメージ
お客様から注文を受けて巨大倉庫からスムーズに作業が行われるように指示を出したり、倉庫から他注文の品を次は適切な場所に届けるように配達員に指示を出す感じ
最後に
イメージを伝えながら説明をしたつもりですが、難しかった^^;
1つ言えるのは役割が明確なので複雑化する事は少ないというのが良いですね。アプリケーションを作成していて躓いても何が機能していないのか?どこで詰まっているのか?をこの構造を理解していると発見しやすいです!