デザインパターン
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-[[Design-pattern Javaチュートリアルのデザインパターン:ht...
*デザインパターンのメリット [#x1236b83]
-再利用性の高い柔軟な設計ができるようになる
--デザインパターンの多くは再利用性の高い柔軟な設計を目指...
--直接デザインパターンを使わなかったとしても、デザインパ...
-共通の言葉を使って会話ができるようになる
--デザインパターンをお互いが共通理解しているチームでは、...
-オブジェクト指向が理解できる
--デザインパターンはオブジェクト指向の基本の上に成り立っ...
--デザインパターンの 学習により、オブジェクト指向の理解が...
*GoFデザインパターン [#s138fd5e]
-[[再考: GoF デザインパターン:http://qiita.com/irxground/...
-[[ふと GoF のデザインパターンを再考しておく:http://www.m...
-[[ぼくにもわかるデザインパターン 第2章 GoFパターン大カ...
-[[サルでもわかる逆引きデザインパターン:http://www.nulab....
-[[デザインパターン:http://www.techscore.com/tech/DesignP...
**生成に関するパターン [#yb3bdcfa]
-Abstract Factory ⭐︎
--関連する部品を生成するファクトリごと切り替える
--インスタンスの生成を専門に行うクラスを用意することで、...
-Builder
--複雑なオブジェクトを生成する
--「作成過程」を決定する Director と呼ばれるものと「表現...
-Factory Method ⭐︎
--サブクラスのメソッドにインスタンスの生成方法をまかせる
--インスタンスの生成をサブクラスに行わせることで、より柔...
-Prototype
--コピーしてインスタンスを生成する
--「プロトタイプからインスタンスを生成する」ことができる...
-Singleton ⭐︎
--生成するインスタンスを1個に制限する
--Singleton パターンは、コンストラクタを private とするこ...
**構造に関するパターン [#se8aedc0]
-Adapter ⭐︎
--インタフェースが一致しないクラスを再利用する
--インタフェースに互換性の無いクラス同士を組み合わせるこ...
-Bridge
--機能と実装の階層を分離し、拡張を別々に行う
-Composite ⭐︎⭐︎⭐︎
--再帰的なオブジェクト構造を表現する
--コンポジットパターンは、要素であるオブジェクトと、複数...
--コンポジットパターンは、任意の要素から階層を辿りすべて...
--ディレクトリ構造のような再帰的な構造を解決することに適...
--再帰的とは、ディレクトリの下にさらにディレクトリを置く...
--再帰的な構造全体に対する処理を行いたい場合に、複合要素...
--これに対しコンポジットパターンでは、すべての要素に共通...
--コンポジットクラスのオペレーションではリーフクラスのオ...
--コンポジットパターンはクライアントから見てわかりやすい
---すべてのオブジェクトは共通の抽象クラスを持っていますの...
---また、オブジェクト構造上の、あるリーフオブジェクトをコ...
--共通インタフェースの重要性
---コンポジットパターンでは、どのような視点で構造を抽象化...
---このパターンに登場するコンポーネントクラスはすべてのオ...
--出番の多いパターン
---アプリケーションを作っていると、コンポジットパターンが...
---膨大な規模のデータ構造を目の当たりにすると、とかく複雑...
-Decorator ⭐︎
--元になるオブジェクトを包み込んで機能を拡張する
--Composite パターンを補完するパターンですので、これも適...
-Facade ⭐︎⭐︎
--複雑な処理を呼び出すシンプルな入り口を提供する
--Factory パターンをはじめ、他のパターンと組み合わせるこ...
--ファサードパターンの目的は複雑なクラス・API呼び出しを実...
--サービスインタフェースを作ることのメリット
---ルールの明確化 ... アクションクラスからの業務処理の呼...
---モックオブジェクトが使える ... テスト用の仮の実装を持...
-Flyweight
--インスタンスを共有して、インスタンスの生成コスト・使用...
--同じインスタンスを共有することで、無駄なインスタンスを...
-Proxy ⭐︎
--代理(プロキシ)を用意してインスタンスの生成やアクセス...
**振る舞いに関するパターン [#r6e58bc9]
-Chain of Responsibility
--処理を順番にたらいまわす
--「責任者」を「鎖状」につないでおき、「いずれかの段階」...
-Command ⭐︎
--命令そのものをオブジェクトとして扱う
--あるオブジェクトに対して要求を送るということは、そのオ...
-Interpreter
--構文解析の結果を表現するクラスを定義する
-Iterator
--複数のオブジェクトに順番にアクセスする
-Mediator
--複数のオブジェクトを集中管理する
-Memento
--オブジェクトの状態を保管して復元可能にする
-Observer ⭐︎
--オブジェクトの状態変化を通知する
-State
--状態に応じて処理内容を切り替える
-Strategy ⭐︎
--アルゴリズムを交換可能にする
--継承を使用してアルゴリズム処理の差分を実装しているよう...
-Template Method ⭐︎⭐︎⭐︎
--一連の処理の一部をサブクラスで実装し、変更可能とする
--フレームワークの開発で良く利用される
--最も基本的な、継承とポリモーフィズムの活用法を示してい...
-Visitor ⭐︎
--複数のオブジェクトを渡り歩く処理を追加・変更する
--Composite パターンで構成されたオブジェクトを走査する強...
--「構造から処理を分離する」パターン
--処理クラスは構造内のオブジェクトを訪問(visit)し、処理...
*その他 [#of12d47a]
**Loanパターン [#u7cd0b80]
-リソース解放を忘れずに行うためのパターン
-C# でいう using
**Conceptパターン [#vc0d807b]
終了行:
-[[Design-pattern Javaチュートリアルのデザインパターン:ht...
*デザインパターンのメリット [#x1236b83]
-再利用性の高い柔軟な設計ができるようになる
--デザインパターンの多くは再利用性の高い柔軟な設計を目指...
--直接デザインパターンを使わなかったとしても、デザインパ...
-共通の言葉を使って会話ができるようになる
--デザインパターンをお互いが共通理解しているチームでは、...
-オブジェクト指向が理解できる
--デザインパターンはオブジェクト指向の基本の上に成り立っ...
--デザインパターンの 学習により、オブジェクト指向の理解が...
*GoFデザインパターン [#s138fd5e]
-[[再考: GoF デザインパターン:http://qiita.com/irxground/...
-[[ふと GoF のデザインパターンを再考しておく:http://www.m...
-[[ぼくにもわかるデザインパターン 第2章 GoFパターン大カ...
-[[サルでもわかる逆引きデザインパターン:http://www.nulab....
-[[デザインパターン:http://www.techscore.com/tech/DesignP...
**生成に関するパターン [#yb3bdcfa]
-Abstract Factory ⭐︎
--関連する部品を生成するファクトリごと切り替える
--インスタンスの生成を専門に行うクラスを用意することで、...
-Builder
--複雑なオブジェクトを生成する
--「作成過程」を決定する Director と呼ばれるものと「表現...
-Factory Method ⭐︎
--サブクラスのメソッドにインスタンスの生成方法をまかせる
--インスタンスの生成をサブクラスに行わせることで、より柔...
-Prototype
--コピーしてインスタンスを生成する
--「プロトタイプからインスタンスを生成する」ことができる...
-Singleton ⭐︎
--生成するインスタンスを1個に制限する
--Singleton パターンは、コンストラクタを private とするこ...
**構造に関するパターン [#se8aedc0]
-Adapter ⭐︎
--インタフェースが一致しないクラスを再利用する
--インタフェースに互換性の無いクラス同士を組み合わせるこ...
-Bridge
--機能と実装の階層を分離し、拡張を別々に行う
-Composite ⭐︎⭐︎⭐︎
--再帰的なオブジェクト構造を表現する
--コンポジットパターンは、要素であるオブジェクトと、複数...
--コンポジットパターンは、任意の要素から階層を辿りすべて...
--ディレクトリ構造のような再帰的な構造を解決することに適...
--再帰的とは、ディレクトリの下にさらにディレクトリを置く...
--再帰的な構造全体に対する処理を行いたい場合に、複合要素...
--これに対しコンポジットパターンでは、すべての要素に共通...
--コンポジットクラスのオペレーションではリーフクラスのオ...
--コンポジットパターンはクライアントから見てわかりやすい
---すべてのオブジェクトは共通の抽象クラスを持っていますの...
---また、オブジェクト構造上の、あるリーフオブジェクトをコ...
--共通インタフェースの重要性
---コンポジットパターンでは、どのような視点で構造を抽象化...
---このパターンに登場するコンポーネントクラスはすべてのオ...
--出番の多いパターン
---アプリケーションを作っていると、コンポジットパターンが...
---膨大な規模のデータ構造を目の当たりにすると、とかく複雑...
-Decorator ⭐︎
--元になるオブジェクトを包み込んで機能を拡張する
--Composite パターンを補完するパターンですので、これも適...
-Facade ⭐︎⭐︎
--複雑な処理を呼び出すシンプルな入り口を提供する
--Factory パターンをはじめ、他のパターンと組み合わせるこ...
--ファサードパターンの目的は複雑なクラス・API呼び出しを実...
--サービスインタフェースを作ることのメリット
---ルールの明確化 ... アクションクラスからの業務処理の呼...
---モックオブジェクトが使える ... テスト用の仮の実装を持...
-Flyweight
--インスタンスを共有して、インスタンスの生成コスト・使用...
--同じインスタンスを共有することで、無駄なインスタンスを...
-Proxy ⭐︎
--代理(プロキシ)を用意してインスタンスの生成やアクセス...
**振る舞いに関するパターン [#r6e58bc9]
-Chain of Responsibility
--処理を順番にたらいまわす
--「責任者」を「鎖状」につないでおき、「いずれかの段階」...
-Command ⭐︎
--命令そのものをオブジェクトとして扱う
--あるオブジェクトに対して要求を送るということは、そのオ...
-Interpreter
--構文解析の結果を表現するクラスを定義する
-Iterator
--複数のオブジェクトに順番にアクセスする
-Mediator
--複数のオブジェクトを集中管理する
-Memento
--オブジェクトの状態を保管して復元可能にする
-Observer ⭐︎
--オブジェクトの状態変化を通知する
-State
--状態に応じて処理内容を切り替える
-Strategy ⭐︎
--アルゴリズムを交換可能にする
--継承を使用してアルゴリズム処理の差分を実装しているよう...
-Template Method ⭐︎⭐︎⭐︎
--一連の処理の一部をサブクラスで実装し、変更可能とする
--フレームワークの開発で良く利用される
--最も基本的な、継承とポリモーフィズムの活用法を示してい...
-Visitor ⭐︎
--複数のオブジェクトを渡り歩く処理を追加・変更する
--Composite パターンで構成されたオブジェクトを走査する強...
--「構造から処理を分離する」パターン
--処理クラスは構造内のオブジェクトを訪問(visit)し、処理...
*その他 [#of12d47a]
**Loanパターン [#u7cd0b80]
-リソース解放を忘れずに行うためのパターン
-C# でいう using
**Conceptパターン [#vc0d807b]
ページ名: