デザインパターンを勉強しています

デザインパターンを勉強しています

当IT部門の森本です。

IT部門では毎週火曜日に勉強会を行っています。
関数型言語の解説を行っている動画を見たり、オブジェクト指向設計の解説書を精読したり、時にはセキュリティ関連の用語について調べたことを発表したり、と色々な活動を行っています。
勉強会を実施する時間が予め決まっているため、普段、業務をこなしている中では、なかなか調べる余裕がなかったり、あいまいなままにしてしまっていることを改めて勉強するよい機会となっています。

オブジェクト指向なんかもこの勉強会がなければ改めて勉強することはなかったと思います。クラスを作って継承をしていればそれがオブジェクト指向だと思い込んでいたかもしれません。
それも間違いというわけではないのですが、デザインパターンを知らなければオブジェクト指向の真の恩恵にあずかれないでしょう。

システムというのは常に変わっていきます。世の中の仕組みや事情は常に変わっていくので、システムもそれに合わせて変えていく必要があります。後から出てくる要件に対応できなければ、そのシステムは使い物にならなくなってしまいますし、対応に時間がかかればその間業務が止まってしまいます。

このような事態を避けるための工夫がオブジェクト指向であり、デザインパターンです。デザインパターンは後から発生する機能追加や変更を見越して、元の処理に影響を与えずに機能を追加したり変更したりできるようにしたプログラム構造のお手本のようなものです。

もちろんデザインパターンを知らなくてもシステムは作れますし、センスの良い人ならば自分でデザインパターンと同じような構造を考えつくかもしれません。ただ、せっかく先人が考えて洗練されてきたものを使わない手はありません。言わば数学の公式のようなものです。公式がなければ数学の問題はひどく難解なものでしょう。公式を知っていれば極端な話、問題の意味が分からなくても答えを導き出すことができます。(もちろん問題の意味が分からないようでは困りますが・・・)

他にもデザインパターンを知ることで様々なメリットがありますが、それはまた別の機会に。