デザイン・パターン
デザイン・パターン(design pattern)とは、効率の良いプログラミングの完成への道筋と、長期的な良い方向への保守改善を実現するために、設計時や開発時におこる典型的な失敗例と解決方法を、幾多の地獄を経験してきたプログラマーたちが後世に残した遺言である。
デザイン、すなわち「設計」の段階で決めておくべきものであり、インプリメンテーション(実装)の段階で用いられるコーディングパターンやコーディング規約ではない点に注意すること。
メリットとデメリット 編集
デザインパターンに従うと、簡単なことをするにも例外なく設計に時間がかかりソースコードも長ったらしくなる。たとえば「hello, world」にデザインパターンを適用すべきかというと言えばそうではない。
ただ弊害があるにも関わらず「なぜ先人たちは遺言を残したのか」ということを考えずプログラミングすれば、プロジェクトが肥大化したときにその理由を知ることになる。
事例 編集
ファイナルファンタジー14 編集
ファイナルファンタジー14のテクニカルディレクターとして有名なスクウェア・エニックスの橋本善久氏は、自身の体験に基づいたアジャイル論として、1人でも作れる「犬小屋」と、建築に多くの人数が必要となる「超高層ビル」という対照的な建物を挙げ、「これらに同じ方法論は通用しない」という。
超高層ビルを無計画で建てようとする天文学級の馬鹿はいないが、ソフトウェアの開発の現場ではそうしたことが往々にして起こるといい、その理由はソフトウェア開発では規模や問題が見えにくいため、問題が表面化してどうしようもなくなるまで “とりあえず作る” ことができてしまうことによるものだという。 [1]
大津浪記念碑 編集
高き住居は児孫の和楽、想へ惨禍の大津浪、此処より下に家を建てるな 明治二十九年にも、昭和八年にも津波は此処まで来て部落は全滅し、 生存者、僅かに前に二人後ろに四人のみ、幾歳経るとも要心あれ