勉強日記

チラ裏

デザインパターン

GoF本 Facade

ねらい モチベーション つかいどころ 登場人物 結果 実装にあたり考えるべきこと 【補強】用例 関連するパターン 英語 ねらい 複数クラスからなるサブシステムに窓口を設け、簡単に使えるようにする モチベーション システムをサブシステムに小分けにするこ…

GoF本 Decorator

ねらい AKA モチベーション つかいどころ 構造 登場人物 クライアントコードからの利用 功罪 功 罪 実装にあたり考えるべきこと Strategyパターンとの対比 関連するパターン 英語 ねらい オブジェクトに責務を動的に追加する AKA Wrapper AdapterもWrapperで…

GoF本 Composite

ねらい モチベーション つかいどころ 登場人物 クライアントコードからの利用 結果 実装にあたり考えるべきこと 関連するパターン 英語 ねらい オブジェクトを木構造にし、木全体も部分木も葉も一様に扱えるようにする モチベーション 例えばお絵かきソフト …

GoF本 Bridge

ねらい 別名 モチベーション つかいどころ 構造 登場人物 クライアントコードからの利用 結果 実装にあたり考えるべきこと 関連するパターン 英語 ねらい 種類に関する継承ツリー(Abstraction)と実装に関する継承ツリー(Implementor)を分離する 種類に関する…

GoF本 Adapter

ねらい 別名 モチベーション つかいどころ 構造 登場人物 クライアントコードからの利用 功罪 継承方式と集約方式とのトレードオフ ほか、考えるべきこと 実装 他のStructural Patternとの対比 英語 ねらい 既存クラスのインタフェースを変える 別名 Wrapper…

GoF本 Discussion of Creational Patterns

生成のパターンの分類 継承 集約 比較検討 -- シンプルなオブジェクトを生成する場合 Factory Method AbstractFactory Prototype 選択 生成のパターンの分類 2つに大別 継承 Factory Method 集約 Abstract Factory Builder Prototype 比較検討 -- シンプルな…

GoF本 Singleton

まとめ モチベーション つかいどころ 功罪 実装面 用例 関連するパターン まとめ クラスから生成されるオブジェクトを1つに絞る モチベーション オブジェクトがただ1つであることが重要なケースがある 例 ファイルシステム ウィンドウ 「ただ一つのオブジェ…

GoF本 Prototype

まとめ モチベーション 登場人物 つかいどころ 功罪 実装 関連するパターン まとめ newとかするのではなく、作り置きしたオブジェクトをClone()する モチベーション AbstractFactoryやFactoryMethodを導入すると、 AbstractFactoryやCreatorのサブクラスを大…

GoF本 FactoryMethod

まとめ オブジェクトを生成・返却するメソッドのインタフェースを定義する 実際にどのクラスを生成するかはサブクラスの実装|overrideに委ねる 別名 Virtual Constructor モチベーション 世の中のプログラムフレームワークは抽象クラスを扱う フレームワーク…

GoF本 Builder

モチベーション 登場人物 全体像 クライアントコードからの利用 功罪 実装面で考えるべきこと Builderクラスの構築処理のインタフェース Productは汎化しない 基底のBuilderのメソッドは空の処理 用例 関連するパターン BuilderとAbstarctFactoryとのちがい …

GoF本 AbstractFactory

まとめ 別名 登場人物 全体像 つかいどころ 功罪 実装面 Singleton ふつうの実装 Familyが多い場合・Family間の差分が少ない場合の実装 Productが増えても大変にならない実装 型安全 関連するパターン まとめ 一式のオブジェクト群を生成するクラス 関連があ…

GoF本 Chapter 2 WIP

Chapter 2 A CASE STUDY:DESIGNING A DOCUMENT EDITOR ドキュメントエディタ「Lexi」を題材に、 さまざまな設計上の困難と それを克服するために使用されているデザインパターン を紐解いていく Chapter 2 A CASE STUDY:DESIGNING A DOCUMENT EDITOR 2.2 Doc…