【DDD】前提知識まとめ

目的 社内お勉強会で DDD 本を輪読することになったんですが、 改めて「〇〇ってわかりますか?」と言われると戸惑ってしまうことが多いので自分用にまとめました。 抽象クラス(abstract class) 他のクラスで継承してもらうことを前提としたクラス。 複数のクラスの共通処理の中に、一部異なる処理を使用したい場合などに定義する。 抽象クラス自体はインスタンス化できない abstract functionで抽象メソッドを定義できる インターフェース クラスが実装するメソッドを定義することができるもの。 メソッドの実体は持てない(定義のみ) 使用できる修飾子はpublicのみ 定数を持てる。実装先のクラスでのオーバーライドはできない 不特定のクラスで、共通のメソッドを定義したい場合などに定義する。 ポリモーフィズム 「中に入るものによって、同じ関数でも違う処理を行える」というオブジェクト指向プログラミングの特徴のこと。 「モノが「そのモノ」らしく振る舞うこと」 =「呼び出した関数が、呼び出し元のオブジェクトに適した振る舞いをすること」 # 動物は必ず「鳴く」 interface Animal { sound(); } # 犬は「動物らしい振る舞い」をする(鳴く) class dog implements Animal { sound() { /**/ } } # 動物は「鳴く」ので、引数の動物ごとの異なる鳴き声を処理する # 引数で与えられる動物によって、異なる処理(鳴き声)ができる public function animalsound(animal) { animal.sound() } 継承 親クラスの振る舞いを引き継いで、子クラスを実装すること。 子クラス側で親クラスを拡張することができる。 委譲 実際の振る舞いを別のオブジェクトに委ねることで、別のオブジェクトの振る舞いを再利用する手法。(?) カプセル化 関連のあるデータとその使い方を一まとめにしたもの。 内部のデータを直接いじることはさせずに、使い方だけを見せる。 GoF デザインパターン 23 種類あるヤツ(雑) 勉強します 3 分でわかるデザインパターン入門 SOLID 原則 SOLID 原則とは Robert C....

<span title='2021-02-19 12:01:46 +0900 +0900'>2月 19, 2021</span>