カテゴリー:デザインパターン
-
07.08
【Python】シングルトンの実装
インスタンス生成時にオブジェクトが指定されてインスタンスが一つしかないことを保証します。インスタンス生成にはメモリが必要で作成に若干時間を要します。 シングルトンを使えば同じプロセス内であれば再度インスタンスが生成されないようにする…
-
Observerパターンとは? 要は「通知が欲しいとき」のデザインパターンです。どこか1箇所のクラスで監視させておいて値が変わったら全ての依存するクラスに対して通知を行います。 「Observer:観察する側」と「Subject:観…
-
「Proxy(プロキシ)」ってどんなパターン? 既存クラスのメソッドが呼ばれた際に、一旦中間的な処理を実行してから渡すパターンです。 メリット あるメソッドに、中間的な処理を加えることができます。 中間的な処理の例としては下記で…
-
「Flyweight(フライウェイト)」ってどんなパターン? 小さくて軽いオブジェクトをたくさん作りたい場合に有効なパターンです。 メリット オブジェクトの生成や、保持に必要なトータルの負荷(メモリ)を下げることができます。 実…
-
「Facade(ファザード)」ってどんなパターン? 既存のクラスを組み合わせて使う手順を外出しすることができます。Laravelなどでも使われているデザインパターンになります。 http://www.code-magagine.co…
-
「Decorator(デコレータ)」ってどんなパターン? 既存クラスのインターフェイスを変更せずに、機能を追加したい場合に使えるパターンです。 メリット クラスを継承するよりも、自由度が高い方法で、機能を追加することができます。 ど…
-
「Adapter」ってどんなパターン? 既存のクラスに、別のインターフェイス(メソッド)を持たせたい場合に使えます。 [crayon-6734a2ba302d1496351998/] どのような場面で使うか? 呼び出し先のソースに手…
-
「Singleton」ってどんなパターン? あるクラスのオブジェクトを一つだけ作り、各クラスで共有したい場合に使うパターンです。 メリット 「システムの起動から、終了まで、そのクラスのオブジェクトが一つしか存在しないこと」を保証できま…
-
Builderパターンってどんなパターン? 複雑な手順でオブジェクトを生成する場合に使えるパターンになります。 メリット 通常のコンストラクタの初期化処理では出来ない、複雑な初期化処理ができます。 例えば、数多くの初期化パラメー…
-
Abstract Factoryってどんなパターン? 組み合わせて使う多数のサブクラス群を、まとめて交換できるようにするパターンです。 メリット? 実行するメインプログラムを修正することなく、サブクラス群を環境変化に伴って交換すること…