【Abstract Factoryパターン】コンポジットの部品変更を容易にするデザインパターン【コード例:Java】

【Abstract Factoryパターン】コンポジットの部品変更を容易にするデザインパターン【コード例:Java】

前書き:Abstract Factoryパターンとは Abstract Factoryパターンは、関連するインスタンスの生成APIを抽象化クラスに集約し(= 生成に関するインターフェースを定義し)、生成処理は抽象化クラスを継承(実装)したクラスに任せる設計手法です。 ...

May 15, 2021 · 6 min
【Commandパターン】GUIイベント処理や履歴管理で用いるデザインパターン【コード例:Java】

【Commandパターン】GUIイベント処理や履歴管理で用いるデザインパターン【コード例:Java】

前書き:Commandパターンとは Commandパターンは、一つの命令(操作)に対応するメソッドを作成するのではなく、命令に対応するクラス(コマンド)を作成する方法です。 命令をクラス化する事によって得られるメリットは、以下の3点があります ...

January 9, 2021 · 5 min
【オブジェクト指向】全23種類のGoFデザインパターンに関する説明と参考書籍

【オブジェクト指向】全23種類のGoFデザインパターンに関する説明と参考書籍

Gang Of Fourデザインパターンを学ぶメリット Gang of Fourのデザインパターンとは、「よく見かける機能要件(解決したい問題)」と「各機能要件に対応する設計方針」を23種類に整理したものです。例えば、「単一リソースにアクセスする場合はSingletonデザインパターンが良い」というように、機能要件に適した設計(デザインパターン)を提案しています。 ...

January 7, 2021 · 4 min
【Iteratorパターン】C言語で見かけるぐらい頻出のデザインパターン【コード例:Java、Ruby】

【Iteratorパターン】C言語で見かけるぐらい頻出のデザインパターン【コード例:Java、Ruby】

前書き:デザインパターンという認識がなかった Iteratorデザインパターンは、配列/List/Mapなどのコレクション(要素の集合)を順次アクセスする際に、どのようなコレクションであっても同じAPIで操作可能にする設計方法です。 ...

January 2, 2021 · 7 min
【Singeltonパターン】考え方は単純だが、使いどころが大切なデザインパターン【コード例はRubyとJava】

【Singeltonパターン】考え方は単純だが、使いどころが大切なデザインパターン【コード例はRubyとJava】

前書き:Singletonパターンは奥が深い Singletonパターンは、GoF(Gang of Four)デザインパターンの一つであり、あるクラスのインスタンスが一つしかない状態を保証する方法です。「インスタンスが一つしか無い」という前提を生み出す事で、複数のインスタンスを用いる事によるバグの発生リスクを無くせます(正しく実装できていれば)。 ...

April 26, 2020 · 5 min
【Builderパターン】コンストラクタの初期化(new)引数が多い場合にオススメなデザインパターン

【Builderパターン】コンストラクタの初期化(new)引数が多い場合にオススメなデザインパターン

 前書き:Builderパターンとは Builderパターンは、GoF(Gang of Four)デザインパターンの一つであり、複雑な構造を持つインスタンス生成を容易にするための手法です。 ...

April 25, 2020 · 4 min