プログラミング言語「Ruby」を使用して、様々なWebアプリケーションをスピーディに開発できる「フレームワーク」が、Ruby on Railsです。
そして「Ruby on Rails」を使いこなすために知っておくべきなのが、この3つ。
- MVCモデル
- DRY原則
- COC原則
です。
後で詳しく説明しますが、簡単にいうと・・・
- MVCモデル・・・プログラミング構造
- DRY原則・COC原則・・・独自の規約・ルール
ということです。
これらを守ってプログラミングすることで
開発者の負担が減り、爆速開発ができる
というわけです。
初心者には少し難しいかもしれませんが、できるだけシンプルに説明していきたいと思います。
目次
MVCモデルとは?
MVCとは
- Model(モデル)
- View(ビュー)
- Controller(コントローラー)
の頭文字を取ったもので
プログラムを整理しやすくしよう 構造が明確でメンテナンス性の高いプログラムを作ろう
という理念から生まれたプログラミング構造です。
プログラムの中身を
- Model・・・データベースを扱う
- View・・・データを画面に表示させる
- Controller・・・ModelとNiewを繋ぐ
の3つに分割し、それぞれの役割(機能)ごとに、コーディングを行います
Model(モデル)の役割
Model の役割は
データベースを管理すること
です。
必要なデータをデータベースから取得したり、データベースに対してデータの登録、更新、削除などを行います
View(ビュー)の役割
Viewの役割は
データを画面に表示させること
です。
表示や入力に関する処理を行ったり、受け取ったデータを、ブラウザに表示するためにHTML文書を生成したりします。
Controller(コントローラー)の役割
Controllerの役割は
ViewとModelを繋ぐこと
です。
繋ぐとはどういうことかというと
- Controllerが、ユーザーからの要求を受け取る
- Controllerが、ユーザーの要求に応じたアクションを実行し、Modelに伝える
- Modelがデータベースから取得してきたデータを、Controllerが受け取り、Viewへ渡す
というように、ViewとModelの仲介役をこなします。
MVC(エムブイシー)モデルのメリット
プログラムの全体像を考えぬまま、思いつくままプログラミングしていけば、コード数が膨大になってしまいます。
管理も大変になり、エラーが起きた時の修正作業も困難になります。
その点、MVCモデルは、機能ごとに分割、独立しているので、
- 書いた本人以外でも中身を把握しやすく、読みやすいコードになる
- 変更・修正した場合、影響を受けにくい
- 作業効率があがる
といったメリットがあります。
DRY(ドライ)原則とは
DRYとは「Don’t Repeat Yourself」の頭文字をとったもので
重複を避けよう=複数の場所に同じコードを繰り返し記述するのは避けよう
という意味です。
なぜ、重複を避けた方がいいのかというと
- 記述するコードが短くなり、効率よく開発できる
- 管理が楽になる
からです。
同じコードを色々な場所に重複して記入すると、どうなるかというと・・・
- 記述量が増える
- コードが複雑になり読みにくくなる
- 後で仕様変更や、修正する際に、変更漏れ・修正漏れで、エラーや不具合が発生しやすくなる
DRY原則があることで、開発者の作業が楽になり、ミスも起きにくくなります。
CoC原則とは
CoOCとは「Convention over Configuration」の頭文字をとったもので
設定より規約を重視する
という意味です。
Ruby on Railsには、命名規則(命名規約)というものがあり、モデル名やコントローラ名をつけるときにもルールが存在します。
例えば
- クラス名とデータベース名は、同じ単語の単数形、複数形にする
- モデル名は、単数形で頭文字を大文字にする
- コントローラ名は、複数形で末尾にControllerをつける
というように、Ruby on Railsがあらかじめ用意している名前付けのルールがあります。
このルールに従って記述していくことで、名前付けに悩んだり、それぞれを関連付ける設定を記述する必要がなくなり、結果
- コードの記述量を大幅に減少させる
- 見やすく、管理しやすくなる
- 開発時間が短縮できる
ことになります。
MVCモデル・DRY原則・COC原則まとめ
Ruby on railsとは、効率的に開発が進められるように考えられた、フレームワークです。
- MVCモデル
- DRY原則
- COC原則
という、Ruby on Railsであらかじめ用意されている構造と、決まった規約に従ってプログラミングを行うことで、効率よくアプリケーションを開発できます。
他のフレームワークのように、設定や余分なコードを大量に記述しなくてもすむからです。