佐々木屋

技術的なことから趣味まで色々書きます

デザインパターン

以下に一つでも当てはまる方は、プログラミング設計を少し勉強した方が良いかもしれません。

・最初は問題ないが、だんだん読みづらいコードにある
・スパゲティコードになってしまう
オブジェクト指向の恩恵を生かしきれていない
・コメントが無いとさっぱり分からない

デザインパターン

「事例」みたいなものなのですが、オブジェクト指向型開発において、現場でよく使われる設計を先人たちがパターン化してくれたものが「デザインパターン」です。

発端はGoFGang of Four)と呼ばれるエーリヒ・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディースの4人のことで、1995年に発刊された「オブジェクト指向における再利用のためのデザインパターン」で一躍世に広まることになります。

C言語にクラス概念が追加されたC++と、Java、最後にC#と、これらオブジェクト指向の代表言語でよく使われる設計を網羅したものとなります。

デザインパターンを意識することで、プログラムがオブジェクト指向の概念に沿った、「再利用」・「拡張性」・「独立性」が自然と設計されるようになります。

メリット

過去の偉大な先人たちの失敗から洗練された設計なので、当然オブジェクト指向の恩恵を受けることが出来ることは言うまでもありません。

それ以外に、

  • 設計の変更に強い
  • 不具合に強い(発見しやすい)
  • 汎用性が高い

などが挙げられます。

この後、少しずつですが例をとって紹介していければと思っています。

LINQ同様、デザインパターンは1冊の書籍で成り立つほどの分量です。多種多様な言語のものが多く出回っていますので、一度手にとってみてはいかがでしょうか。

但し、当然ですがオブジェクト指向の概念を100%理解した状態でなければ正直意味がありませんので、怪しい場合はよく復習しておいて下さい。