■設計
チャンクダウン
- 何を作るのか
- 必要な機能を列挙
- 必要な画面を列挙
- 画面や機能のグループ化
- グループ化したものをコントローラとして定義
- コントローラで行うべき処理内容を列挙
- 列挙した処理内容からアクション(名)を定義
- データソースの設計
機能の列挙
何をどうするのか箇条書きで軽く書き出す。
画面の列挙
画面名 |
内容 |
構成画面 |
ランキング画面 |
人気の高い順に上から表示する |
1画面のみ |
ログイン画面 |
ログイン処理を行う |
1画面のみ |
画面や機能のグループ化
グループ |
画面名(複数場面の場合) |
閲覧系 |
ランキング画面 |
認証系 |
ログイン画面 |
コントローラの定義
コントローラ名 |
処理内容 |
担当画面 |
IndexController |
登録されている情報を閲覧する処理 |
ランキング画面 |
AuthController |
ログイン・ログアウトなどのユーザ権限の管理 |
ログイン画面 |
コントローラで行うべき処理内容を列挙
箇条書きや上述の表に書き込んでも良いかもしれない。
列挙した処理内容からアクション(名)を定義
コントローラ |
担当処理 |
アクション名 |
IndexController |
- 閲覧回数の多い順に一覧を表示する
- 指定されたページにリダイレクトする
|
- popularAction
- redirectAction
|
AuthController |
- ログイン画面を表示する
- ユーザ認証をする
- ログアウト処理をする
|
- loginAction
- authAction
- logoutAction
|
■開発
- 画面レイアウトの作成
- モデルの処理をコーディング
- 全体にかかわる内容の定義
- 個々のコントローラやアクションをコーディング
モデル
- コントローラのリクエストをデータソースから取得して渡す
- コントローラから渡されたデータをデータソースに登録・更新する
- データソースの状態をチェックしてコントローラに渡す