Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects. The 23 Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. They are categorized in three groups: Creational, Structural, and Behavioral (for a complete list see below). This
This structural code demonstrates the Mediator pattern facilitating loosely coupled communication between different objects and object types. The mediator is a central hub through which all interaction must take place. using System; namespace Mediator.Structural { /// <summary> /// Mediator Design Pattern /// </summary> public class Program { public static void Main(string[] args) { ConcreteMediat
図1●複数のクラスを1つのクラスに見せかけるFacadeパターン。もともと三つのクラスを使う必要がある機能(a)を,Facadeクラスによって一つのクラスに見せかけることができる(b) IT Proに、アラン・ケイ氏が2003年1月に来日した際のインタビュー記事があります。それによると、氏は、生物の細胞が複雑な構造を作り上げる様子からヒントを得て、オブジェクト指向を考案したそうです。細胞から細胞へメッセージを送る(メッセージ・パッシングする)ことで、目的の機能が実現されると考えるのです。筆者のような凡人には、思いもよらない奇抜な発想ですね。細胞は、プログラムにおけるオブジェクトに相当します。メッセージを送るとは、他のオブジェクトが持つメソッドを呼び出すことです。こう言ってしまうと、実に味気ないのですが。 アラン・ケイ氏は、1972年にSmalltalkというオブジェクト指向プログラミング言
経験的にこのようにした方がよいと思った点についての記録です。 仕事で大規模(2000クラス超)かつ製品寿命がながいパッケージソフトを作っていた関係で、 ちょっとした設計の間違いが、 あとあとで大変な苦労する羽目になったりすることを経験してきました。 このような規模が大きいアプリケーションを作ることはなかなかないかもしれませんが、 なにかの参考になれば、と思います。 継承する前に委譲を検討する Singleton パターンを使うときの注意 Template Method パターンを使うときの注意 クラス間の依存に関する注意 クラスの粒度 Singleton の問題を回避できるか? 継承する前に委譲を検討する 継承はスーパークラスの仕様をよく理解しておかないと、 バグを作りこみやすいので十分注意する必要があります。 メソッドのオーバーライドをするときも、 public void foo(){
翻訳: デザインパターン・メーリングリスト有志 原文は Doug Lea<dl@cs.oswego.edu> によってメンテナンスされています。 原文の最終更新は2000年11月です。 この文書は通常の意味でのFAQではありません。 この文書には、 patterns-discussionメーリングリストで議論されてきたトピックの 非常に短いサマリーがQ&Aの形式で含まれています。 項目の取捨選択および内容には管理者の主観的な判断が入っています。 このFAQは不定期に更新されます。 パターンに関する情報は、 The Patterns Home Pageを参照してください。 そこにはオンライン上のパターンへのリンク、 パターンに関する論文、パターンを扱った書籍の説明、 カンファレンスの一覧、 そしてパターンに関連したメーリングリストが含まれています。 「パターン」という用語によい定義がないのは
本メーリングリストは近日中に活動を停止します。これまでありがとうございました。 デザインパターン・メーリングリストは、 デザインパターン、オブジェクト指向プログラミング、 Java言語に関する意見交換・情報交換などを行うメーリングリストです。 目次 はじめに どんなメーリングリストなの? 誰が参加できるの? 参加するのに何か注意はある? リンク デザインパターン関連 UML関連 UMLツール パターン関連ソースコード デザインパターンのテンプレート バグパターン リファクタリング、エクストリームプログラミング関連 Java関連 コーディングスタイル Web系Javaフレームワーク メーリングリスト全般関連 Pattern Languages of Programming (PLoP) パターン・ランゲージ いろんな言語でデザインパターン 未整理 [ギコ猫とデザインパターン] 更新履歴 結城
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く