カテゴリー:オブジェクト指向
-
インターフェース分離の原則(Interface Segregation Principle)とは? SOLID原則のIにあたるものです。 「クライアントに、クライアントが利用しないメソッドへの依存を強制してはならない」というインター…
-
DIとは? 外部からインスタンスを注入すること。例:Oracleインスタンス(依存性)を外からコンストラクタにて与えてあげる実装をする。 イメージ的に 昔のスーパーファミコン(上位モジュール)とカセット(下位モジュール)の関係。スーパ…
-
SOLIDの観点から見たこの原則の私的見解 基本的にはSOLIDにおいて「バリエーションがあるコードを書く際に意識する原則の一つ」になります。 バリエーションを意識したコードを書く際に意識する際の原則として他には「オープンクローズド…
-
業務では「少し違うけど似たような処理」を実装することが求められるシーンは多いと思います。このような処理を実装する場合は継承を使うのは基本NGになります。以下の記事でも詳しく解説しています。 http://www.code-magagi…
-
平たく言えば「継承のガイドライン」です。 前提 基本的にバリエーションを作る場合(シルバー会員クラス、ゴールド会員クラスなど)の継承のガイドラインである点です。 例えば、MicrosoftのテクノロジーのTextBoxコントロール…
-
集約(has a関係) 自クラスの性質に直接関係のない場合はこちらを使う。 BがAの機能が欲しい場合に「BがAをクラスのメンバとして持つ」という考え方です。 Bのメソッドの中でAの処理を行うので外部(クライアント側)に知識が漏…
-
03.26
【オブジェクト指向】「単一責任の原則」
概念的な話 クラスが担う責任はたった一つにするべきという原則。クラスを仕様変更する理由を一つにする。(複数の仕様で一つのクラスを使い回さない) 「単一責任の原則」は二つの側面がある。 単一責任の原則は人によって言っていることが微妙に変…
-
オブジェクト指向のメモリ領域は以下に分類されます。 メソッドエリア(静的領域) 「静的」と呼ばれる理由としては、この領域に確保された情報はプログラムの実行時には変化しないため。 確保タイミング C言語やC++であれば、アプリケーショ…
-
12.12
【オブジェクト指向】「クラス」のメリット
クラスとは? クラスとは、関連性の強いサブルーチンとグローバル変数を1つにまとめて粒度の大きいソフトウェア部品を作ること。従来はバラバラだったサブルーチンとグローバル変数をまとめることができる。 クラスのメリット 管理対象の数を減らせ…
-
オープンクローズドの原則とは 「機能を拡張する」(オープン)と「修正を行わない」(クローズド)という一見矛盾するこの二つを同時に要求する内容のこと。 要は。。。 モジュールに新たな振る舞いを追加する際に既存コードを修正せずに新しいコー…