
デザインパターンとは?
過去に、うまくいったクラス設計のノウハウを集めたパターン集のことです。
デザインパターンには様々なパターンがあるのですが、基本的にオブジェクト指向のソースコードは「サービス側のコード(例えば、データベース処理など)」と「クライアント側のコード(例えば画面など)」の二つに分かれますが、「サービス側のコード」の設計パターンになります。
デザインパターンのメリット
クラス設計時間を短縮できる。
システムを作る際も、いわば創作物に当たり、クラスの構造を考えたりするのには時間を要します。
デザインパターンを使えば、より短時間でその作業を終わらせることができるでしょう。
他の開発者に短時間でクラス構造をわかってもらえる。
デザインパターンを習得すれば、例えば自分の作ったクラス設計書や、ソースコードの中にパターン名を記入しておけば、相手がデザインパターンを理解している開発者の場合ですが、より短時間で他の開発者にクラスの構造や、プログラムの意味を理解してもらいやすくなります。
有名なデザインパターン
- GoFのデザインパターン
- Java EEパターン
GoFのデザインパターン
「オブジェクト指向設計では、汎用的に使えるパターン」です。4人の研究者が、定義した23種類のパターンがあります。
Javaのクラスライブラリや、Javaサーブレットの設計でもあちこちに使われていたりします。
Factory Method
あるサブクラスと別のサブクラスを必ずペアで使ってもらうパターンです。必ずペアでサブクラスを作る場合は有用なパターンになります。
詳しくは、下記の記事で解説しています。
Abstract Factory
「Factory Method」と違い、newのみする専用のクラスを作成してしまい、メインプログラム側の修正を扶養とする設計思想のパターンになります。
詳しくは、下記の記事でも解説しています。
Template Method
サーブレットで使っている。
Chain of Responsibility
サーブレットフィルタでは、このパターンを使っている。
Compositeパターン
java.awtパッケージのGUI部品
Decoratorパターン
java.ioパッケージ
Strategyパターン
java.awtパッケージの画面レイアウト制御
Observerパターン
デザインパターンの名前がそのままクラス名に使われていることが多い。
Iteratorパターン
デザインパターンの名前がそのままクラス名に使われていることが多い。
Java EEパターン
Java EEアプリケーション用のパターン
DAO、DTOパターン
Webアプリで、JDBCを使用したプログラムを作る際によく使われるパターンです。
詳しくは、下記の記事でも解説しています。
この記事へのコメントはありません。