カテゴリー:オブジェクト指向
-
08.28
【オブジェクト指向】「SOLIDの原則」の概要
SOLID原則とは? 1990年代後半〜2000年代にロバートCマーチンによって提唱されたモジュール間の接続の概念。SOLIDはオブジェクト指向においてバリエーションを扱う上で守った方が良い概念を集めた原則(「S:単一責任の原則」だけはこ…
-
手続き型じゃなく、オブジェクト指向っぽく書くためには。 ただ、全て守ればいいというわけではなくこれに近づけるとオブジェクト指向っぽくなるので実際に使う際はある程度緩めても良いかもしれない。 クラス設計 継承を使うのであればできるだ…
-
05.19
【クラス設計】クラスの独立性を高めるコツ
下記の記事にて、クラス設計においては、「凝縮度を高めて、結合度を弱める」というのがよい設計だということはお伝えさせて頂きました。 http://www.code-magagine.com/?p=2942 図にすると下記のイメージ…
-
ソフトウェア設計の目標として大事になるのは、もちろん仕様どおりきちんと動くということが最低目標ですが、次に大事になるのが下記の指標です。 保守性 再利用性 今までは、「実行効率」とかも求められましたが、現在はハードウェ…
-
「Proxy(プロキシ)」ってどんなパターン? 既存クラスのメソッドが呼ばれた際に、一旦中間的な処理を実行してから渡すパターンです。 メリット あるメソッドに、中間的な処理を加えることができます。 中間的な処理の例としては下記で…
-
「Flyweight(フライウェイト)」ってどんなパターン? 小さくて軽いオブジェクトをたくさん作りたい場合に有効なパターンです。 メリット オブジェクトの生成や、保持に必要なトータルの負荷(メモリ)を下げることができます。 実…
-
「Facade(ファザード)」ってどんなパターン? 既存のクラスを組み合わせて使う手順を外出しすることができます。Laravelなどでも使われているデザインパターンになります。 http://www.code-magagine.co…
-
「Decorator(デコレータ)」ってどんなパターン? 既存クラスのインターフェイスを変更せずに、機能を追加したい場合に使えるパターンです。 メリット クラスを継承するよりも、自由度が高い方法で、機能を追加することができます。 ど…
-
「Adapter」ってどんなパターン? 既存のクラスに、別のインターフェイス(メソッド)を持たせたい場合に使えます。 [crayon-662b5cde85343926237331/] どのような場面で使うか? 呼び出し先のソースに手…
-
「Singleton」ってどんなパターン? あるクラスのオブジェクトを一つだけ作り、各クラスで共有したい場合に使うパターンです。 メリット 「システムの起動から、終了まで、そのクラスのオブジェクトが一つしか存在しないこと」を保証できま…