カテゴリー:デザインパターン
-
イメージ図 基本的な仕組み Subject(通知者)の方にObserverのインスタンス(購読者、Observer1、Observer2)を投げておいて、Subjectの方に通知してもらう形に実装します。 Subject add…
-
【デザインパターン】「シングルトン」の注意点
05.29
注意点1:複数スレッド時の問題 複数スレッドで同時にプログラムが実行されるときに2回newされる可能性がある点です。 対策 1度目に実行しようとした際にメソッドをロックしてしまうことです。 Javaなら synchronizedキ…
-
【デザインパターン】「Adapter」の設計方法
05.29
イメージ Client 利用者 ターゲットインターフェース 「望みの規格」になります。インターフェースか抽象クラスなどで実装します。 Adapter 適合させる側、ターゲットインターフェースを継承させて作ります。 Adap…
-
【デザインパターン】「Facade」の設計例
05.28
設計方針 まずは一部分だけやる。 全体をいきなりFacade化しなくても良い。一部分をFacade化する形でも良い。 選び方 手順があるもの。 Facade内は複雑化しない方が良い あくまで窓口で理解の補助のために使…
-
【デザインパターン】「Observer」パターン
08.29
Observerパターンとは? 要は「通知が欲しいとき」のデザインパターンです。どこか1箇所のクラスで監視させておいて値が変わったら全ての依存するクラスに対して通知を行います。 「Observer:観察する側」と「Subject:観…
-
「Proxy(プロキシ)」ってどんなパターン? 既存クラスのメソッドが呼ばれた際に、一旦中間的な処理を実行してから渡すパターンです。 メリット あるメソッドに、中間的な処理を加えることができます。 中間的な処理の例としては下記で…
-
「Flyweight(フライウェイト)」ってどんなパターン? 小さくて軽いオブジェクトをたくさん作りたい場合に有効なパターンです。 メリット オブジェクトの生成や、保持に必要なトータルの負荷(メモリ)を下げることができます。 実…
-
「Facade(ファザード)」ってどんなパターン? 既存のクラスを組み合わせて使う手順を外出しすることができます。Laravelなどでも使われているデザインパターンになります。 http://www.code-magagine.co…
-
「Decorator(デコレータ)」ってどんなパターン? 既存クラスのインターフェイスを変更せずに、機能を追加したい場合に使えるパターンです。 メリット クラスを継承するよりも、自由度が高い方法で、機能を追加することができます。 ど…
-
「Adapter」ってどんなパターン? 既存のクラスに、別のインターフェイス(メソッド)を持たせたい場合に使えます。 [crayon-63e162af51d51147134334/] どのような場面で使うか? 呼び出し先のソースに手…