設計とは何か。

・アプリケーション設計
・アーキテクチャ設計

パターンの利用が重要。
Webアプリケーションの場合有用となるパターンは下記のとおり。

・レイヤパターン(多層アーキテクチャ)
Web アプリケーション全体をひとつのかたまりと見るのではなく、いくつかのレイヤで分割することによって、メンテナンス性や再利用性を高めようとするパターンのこと。代表的なのは、「プレゼンテーション層」「ビジネスロジック層」「データアクセス層」の三層構造。

・フロントコントローラパターン
リクエストを受け付ける入り口を1つに絞ってしまうパターン。共通処理をまとめやすい、画面遷移がコントロールしやすい、などの利点がある。

・コマンドパターン
一定のインターフェースを備えたオブジェクトょ用意して、それを切り替えるパターン。”コマンド”は”アクション”と呼ばれることも多い。

・DAO パターン
Data Access Object パターン。ビジネスロジック層とデータアクセス層の間のやり取りで使用されるパターン。リソースに依存しないテストが可能。

Java の世界では、GoF のデザインパターン や J2EE パターンがあるが、PHP などのスクリプトの世界でも取り入れられるものがあれば、取り入れたいものですね。