システム開発のアーキテクチャ デザイン パターン
システム開発を行う際
アーキテクチャ デザイン パターンを知っておくことは非常に重要です。
このシステム デザイン パターンですが
私は「システム構造の概念」と表現することが多いです。
設計や開発の手法であると同時に、概念(考え方)であるからです。
ただ、「概念」のままだとふわっとしていますので
一般的にはそれを「概念図」に表すことにより具現化します。
さて、このデザインパターンですが、
システム開発の歴史とともに種類も数多く存在します。
代表的なものには以下のようなものがあります。
- MVC
- MVP
- MVVM
もう少し説明しますと
- MVCとは Model + View + Controller
- MVPとは Model + View + Presenter
- MVVMとは Model + View + ViewModel
「どのデザインパターンが正解なの?」
すぐに答えを聞いてくる人がいます。
結論から言うと正解はありません。
デザインパターンは時代とともに進化し続けていますし、
開発するシステムの種類のほか、プラットフォームや開発言語、フレームワークやライブラリーの組み合わせにより、最適なデザインパターンは異なってくるからです。
ですので、システムの要件定義を固める際に、開発責任者がどの概念を用いるかの判断がそのシステムの運命を決めることになるといっても過言ではありません。
そしてそのデザインパターンは、設計を経てプログラムに反映されていくわけですが、概念の状態から実際にプログラムのレベルまで正しく落とし込む工程が肝であり、豊富なプログラム開発の経験が必要になります。
本やインターネットや他人の話から拾ってきた「知識」ではなく、
自分で培った「思考」と「知恵」が必要不可欠なのです。
デザインパターンを単に当てはめただけでは、システム開発は失敗してしまいがちです。
要件に合わせて、デザインパターンを組み合わせたり、概念に一工夫を入れたりすることで、良いシステムになっていきます。
とは言え、デザインパターンを知らないことには始まるものも始まらないので、何も知らない人はまずはデザインパターンを知っていきましょう。