90
4
章
AngularJS
アプリケーションの内部構造
図4-1 レシピ管理アプリケーション GutHub
アプリケーション全体のコードは、
GitHub
リポジトリの
chapter4/guthub
ディレクトリに置
かれています。
4.2
モデルとコントローラそしてテンプレートの関係
アプリケーションの詳細に踏み込む前に、これら三者の協調関係や位置付けについて少し解説し
たいと思います。
モデルはすべてにおいて主導的な役割を果たします。これはとても重要なことです。アプリケー
ション全体が、モデルを中心にして動いています。どのビューを表示するか、ビューに何を表示す
るか、何を保存するかといったすべてがモデルに依存しています。したがって、モデルについて
よく考え、オブジェクトが持つ属性やサーバからの取得方法や保存方法を十分に検討しましょう。
ビューはデータバインディングを通じて更新されるということを考えても、モデルには最大の注意
を払うべきです。
コントローラにはビジネスロジックが記述されます。モデルの取得方法やモデルに対する操作、
ビューがモデルに対して必要としている情報、情報を得るためにモデルに対して行う変換などがこ
こで定義されます。他にも入力データの検証、サーバの呼び出し、適切なデータによるビューの初
期化など、多岐にわたる処理がこのコントローラに記述されることになります。
そしてテンプレートは、モデルの表示やユーザーとのインタラクションを行います。受け持つ事
柄は以下の点に限られます。
●
モデルの表示
●
ユーザーがアプリケーションを操作する方法 ...