「デザイン・パターン」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
 
(3人の利用者による、間の7版が非表示)
1行目: 1行目:
'''デザイン・パターン'''(design pattern)とは、効率の良い[[プログラミング]]の完成への道筋と、長期的な良い方向への保守改善を実現するために、[[設計]]時や[[開発]]時におこる典型的な失敗例と解決方法を書き残した、幾多の地獄を経験してきた[[プログラマー]]たちが後世に残した遺言である。
+
'''デザイン・パターン'''(design pattern)とは、効率の良い[[プログラミング]]の完成への道筋と、長期的な良い方向への保守改善を実現するために、[[設計]]時や[[開発]]時におこる典型的な失敗例と解決方法を、幾多の地獄を経験してきた[[プログラマー]]たちが後世に残した遺言である。
  
デザインパターンに従うと、簡単なことをするにも例外なく[[設計]]に時間がかかり[[ソースコード]]も長ったらしくなる。たとえば「[[hello, world]]」にデザインパターンを適用すべきかというと言えばそうではない。ただ弊害があるにも関わらず「なぜ先人たちは遺言を残したのか」ということを考えず[[プログラミング]]すれば、プロジェクトが肥大化したときにその理由を知ることになる。
+
[[デザイン]]、すなわち「[[設計]]」の段階で決めておくべきものであり、[[インプリメンテーション]]([[実装]])の段階で用いられる[[コーディングパターン]][[コーディング規約]]ではない点に注意すること。
  
== 大津浪記念碑 ==
+
== メリットとデメリット ==
 +
デザインパターンに従うと、簡単なことをするにも例外なく[[設計]]に時間がかかり[[ソースコード]]も長ったらしくなる。たとえば「[[hello, world]]」にデザインパターンを適用すべきかというと言えばそうではない。
 +
 
 +
ただ弊害があるにも関わらず「なぜ先人たちは遺言を残したのか」ということを考えず[[プログラミング]]すれば、プロジェクトが肥大化したときにその理由を知ることになる。
 +
 
 +
== 事例 ==
 +
=== ファイナルファンタジー14 ===
 +
ファイナルファンタジー14のテクニカルディレクターとして有名なスクウェア・エニックスの橋本善久氏は、自身の体験に基づいた[[アジャイル]]論として、1人でも作れる「犬小屋」と、建築に多くの人数が必要となる「超高層ビル」という対照的な建物を挙げ、「これらに同じ方法論は通用しない」という。
 +
 
 +
超高層ビルを無計画で建てようとする天文学級の馬鹿はいないが、[[ソフトウェア]]の[[開発]]の現場ではそうしたことが往々にして起こるといい、その理由はソフトウェア開発では規模や問題が見えにくいため、問題が表面化してどうしようもなくなるまで “とりあえず作る” ことができてしまうことによるものだという。
 +
<ref>http://www.4gamer.net/games/000/G000000/20120320001/</ref>
 +
 
 +
=== 大津浪記念碑 ===
 
  高き住居は児孫の和楽、想へ惨禍の大津浪、此処より下に家を建てるな
 
  高き住居は児孫の和楽、想へ惨禍の大津浪、此処より下に家を建てるな
 
   
 
   
11行目: 23行目:
  
 
== 関連項目 ==
 
== 関連項目 ==
 +
* [[オブジェクト指向]]
 +
* [[契約による設計]]
 +
* [[Active Record]]
 
* [[Model View ViewModel]]
 
* [[Model View ViewModel]]
 
* [[Model View Controller]]
 
* [[Model View Controller]]
 +
 
== 参考文献 ==
 
== 参考文献 ==
 
<references/>
 
<references/>
 
== 外部リンク ==
 
== 外部リンク ==
 +
http://toro.2ch.net/test/read.cgi/tech/1327414519/165
  
 
{{stub}}
 
{{stub}}

2012年7月11日 (水) 02:08時点における最新版

デザイン・パターン(design pattern)とは、効率の良いプログラミングの完成への道筋と、長期的な良い方向への保守改善を実現するために、設計時や開発時におこる典型的な失敗例と解決方法を、幾多の地獄を経験してきたプログラマーたちが後世に残した遺言である。

デザイン、すなわち「設計」の段階で決めておくべきものであり、インプリメンテーション実装)の段階で用いられるコーディングパターンコーディング規約ではない点に注意すること。

メリットとデメリット[編集 | ソースを編集]

デザインパターンに従うと、簡単なことをするにも例外なく設計に時間がかかりソースコードも長ったらしくなる。たとえば「hello, world」にデザインパターンを適用すべきかというと言えばそうではない。

ただ弊害があるにも関わらず「なぜ先人たちは遺言を残したのか」ということを考えずプログラミングすれば、プロジェクトが肥大化したときにその理由を知ることになる。

事例[編集 | ソースを編集]

ファイナルファンタジー14[編集 | ソースを編集]

ファイナルファンタジー14のテクニカルディレクターとして有名なスクウェア・エニックスの橋本善久氏は、自身の体験に基づいたアジャイル論として、1人でも作れる「犬小屋」と、建築に多くの人数が必要となる「超高層ビル」という対照的な建物を挙げ、「これらに同じ方法論は通用しない」という。

超高層ビルを無計画で建てようとする天文学級の馬鹿はいないが、ソフトウェア開発の現場ではそうしたことが往々にして起こるといい、その理由はソフトウェア開発では規模や問題が見えにくいため、問題が表面化してどうしようもなくなるまで “とりあえず作る” ことができてしまうことによるものだという。 [1]

大津浪記念碑[編集 | ソースを編集]

高き住居は児孫の和楽、想へ惨禍の大津浪、此処より下に家を建てるな

明治二十九年にも、昭和八年にも津波は此処まで来て部落は全滅し、
生存者、僅かに前に二人後ろに四人のみ、幾歳経るとも要心あれ

[2]

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]

http://toro.2ch.net/test/read.cgi/tech/1327414519/165