Getting Start with Rails [2]


2.1 MVCアーキテクチャ
Railsはモデル、ビュー、コントローラ(すなわちMVC)のアーキテクチャに従って組織される.MVCの利点は
  • 商業ロジックとユーザインタフェースの分離
  • コードを保持しやすいDRYスタイル
  • 異なる機能のコードが分離され、より明確になり、
  • のメンテナンスが容易になります.
    2.1.1モデル
    モデルは、アプリケーションシステムのデータを示し、これらのデータのルールを操作します.モデルは、主に関連するデータベース・テーブルを管理および関連付けて使用されるインタラクティブ・ルールとも言える.多くの場合、データベース内のテーブルはアプリケーション内のモデルに関連付けられます.応用中のビジネスロジックの大部分はモデルに集中している.
    2.1.2ビュー
    ビューは、アプリケーションシステムのユーザーインタフェースを示します.Railsでは、ビューは通常、ページ関連のデータ表示タスクを実行するRubyコードが埋め込まれたHTMLファイルです.ビューは、ブラウザまたは他のリクエストを発行するアプリケーションシステムにデータを送信します.
    2.1.3コントローラ
    コントローラはモデルとビューを結合し、Railsではコントローラがウェブブラウザからの要求に応答してモデルにデータを求め、そのデータを試行に渡す.
    2.2 Railsの部品
    Railsは、Webアプリケーションを構築するための完全なコンポーネントを提供します.
  • Action Controller
  • Action View
  • Active Record
  • Action Mailer
  • Active Resource
  • Railties
  • Active Support
  • 2.1.1 Action Conroller
    ActionControllerはRailsアプリケーションでコントローラを管理するコンポーネントです.ActionControllerはRailsの入力要求を処理し,パラメータを抽出して対応する処理機能(Action)に配布する.ActionControllerが提供するサービスには、セッション管理、テンプレートレンダリング、リダイレクト管理が含まれます.
    2.2.2 Action View
    ActionViewはRailsのビューを管理し、デフォルトではHTMLとXMLの2つのフォーマットの出力を提供します.Actionviewは、ネストされたテンプレートとサブテンプレートを含むテンプレートレンダリングを管理し、AJAXサポートも内蔵しています.
    2.2.3 Active Record
    Active RecordはRailsのモデルベースです.Active Recordはデータベースに関係なく設計され、CRUD機能に基づいて、先進的な検索能力、モデル関連の記述能力を備えている.
    2.2.4 Action Mailer
    Actionmailerはe-mailサービスを提供するコンポーネントで、ActionMailersを使用してメールを送信することができます.これらのメールは柔軟なテンプレートを使用したり、外来のメールを受信したり処理したりすることができます.
    2.2.5 Active Resource
    Active Resourcesは、ビジネス・オブジェクトとRESTスタイルのWebサービスの架け橋です.RESTスタイルのWebリソースとローカルオブジェクトCRUDのマッピングを実現します.
    2.2.6 Railties
    RailtiesはRailsのコアコードであり、新しいRailsアプリケーションを生成し、異なるコンポーネントをRailsアプリケーションにしっかりと接着するために使用される.
    2.2.7 Active Support
    Active Supportは、多くのアプリケーションクラス拡張と標準Rubyライブラリの拡張を提供します.これらのコードはRailsカーネルとあなたのアプリケーションソフトウェアを含むRailsに使用されます.
    2.3 REST
    Roy Fieldingの博士号論文「アーキテクチャスタイルとネットワークベースのソフトウェアアーキテクチャ設計」は、通常、RESTアーキテクチャの礎とされている.幸いなことに、論文全体を読んでREST(記述的状態遷移)がどのように動作するかを理解する必要はありません.その主な原理は以下のようにまとめることができます.
  • リソースの識別子を使用してリソース(URLと簡単に考えられます)
  • を識別します.
  • システムコンポーネント間でリソースを転送するステータス記述.
  • 例えば、このようなRailsリクエストに対して
    DELETE /photos/17

    ID 17のピクチャリソースに対して削除要求が実行されると理解される.RESTは自然なスタイルのWebアプリケーションアーキテクチャであり、Railsはこのスタイルを広く発揚し、約束を通じていくつかのRESTの複雑さとブラウザの変な癖を防ぐ.
    RESTのアーキテクチャスタイルの詳細を知りたい場合は、次のリソースがFieldingの論文よりも分かりやすいです.
  • A Brief Introduction to REST by Stefan Tilkov
  • An Introduction to REST (video tutorial) by Joe Gregorio
  • Representational State Transfer article in Wikipedia