GoGoでデザインパターン (Chain of Responsibilityパターン) Chain of Responsibilityとは 振る舞いに関するデザインパターンの一つ。複数のオブジェクト(ハンドラー)を鎖状につなぎ、それぞれのオブジェクトに対して下記を判断させることができるようになる。 リクエストを処...2022.10.27 0Goデザインパターン
GoGoでデザインパターン (Visitorパターン) Visitorパターンとは 振る舞いに関するデザインパターンの一つ。処理(アルゴリズム)をデータ構造(オブジェクト)から分離する。 長所 様々なオブジェクトと動作可能な新規の振る舞いを既存クラスに変更を加えることなく導入...2022.10.25 0Goデザインパターン
GoGoでデザインパターン (Decoratorパターン) Decoratorパターンとは 構造に関するデザインパターンの一つ。ラッパーオブジェクトの中にオブジェクトを持たせることによって、オブジェクトに新しい振る舞いを追加することができる。 長所 サブクラスを追加せずにオブジェ...2022.10.23 0Goデザインパターン
GoGoでデザインパターン (Compositeパターン) Compositeパターンとは 構造に関するデザインパターンの一つ。単数オブジェクト(Leaf)と複数オブジェクト(Composite)を同一視することで、再帰的な構造(ツリー構造)を実現する。 長所 再帰を利用して複雑...2022.10.21 0Goデザインパターン
GoGoでデザインパターン (Strategyパターン) Strategyパターンとは 振る舞いに関するデザインパターンの1つ。あることを様々な方法で行うクラスに対して、アルゴリズム部分を別クラスに抽出することにより、場面に応じてそれらを切替可能にすることができる。例えば利用端末の性能によ...2022.10.20 0Goデザインパターン
GoGoでデザインパターン (Bridgeパターン) Bridgeパターンとは 構造的デザインパターンの1つ。巨大なクラスや密接に関連したクラスの集まりを、抽象(機能)部分と実装部分の2つの階層に分離し、それぞれを独立して開発できるようにしたパターン。 例としてアプリケーション開...2022.10.18 0Goデザインパターン
GoGoでデザインパターン (Abstract Factoryパターン) Abstract Factoryパターンとは 生成に関するデザインパターンの一つ。関連したオブジェクトの集まりを、具象クラスを指定することなく生成することを可能にするパターン。 例えばPC, モバイル端末のそれぞれに特化したG...2022.10.17 0Goデザインパターン
GoGoでデザインパターン (Builderパターン) Builderパターンとは Builderパターンは、複雑なオブジェクトを段階的に構築できる、生成に関するデザインパターン。 例えばHouse(家)オブジェクトを作成する場合を考える。家といっても屋根の形や庭、ベランダ等の様々...2022.10.17 0Goデザインパターン
GoGoでデザインパターン (Prototypeパターン) Prototypeパターンとは Prototypeパターンは、既存のオブジェクトのコピーをそのクラス(構造体)に依存することなく可能にする、生成に関するデザインパターン。例えば下記のようにして既存オブジェクトのフィールドを利用して、...2022.10.15 0Goデザインパターン
GoGoでデザインパターン (Singletonパターン) Singletonパターンとは 特定のクラスのインスタンスが1つしか生成されないことを保証するためのデザインパターン。Singletonパターンを利用することで下記のようなメリットが得られる。 複数のインスタンスを利用すること...2022.10.14 0Goデザインパターン