📝オブゞェクト指向蚭蚈

📝オブゞェクト指向蚭蚈


Open-Closed Principle | 開攟/閉鎖原則 #

ref. 開攟/閉鎖原則 - Wikipedia

゜フトりェア芁玠クラス、モゞュヌル、関数などは、拡匵に察しおは開いおおり、修正に察しおは閉じおいるべきである。 software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.[1]

📚オブゞェクト指向のこころ読曞メモ #

OOP の 2 倧原則 #

オブゞェクト指向のこころずは, ズバリ以䞋だ.

  • 流動的芁玠を探し出しおカプセル化する
  • クラス継承よりもオブゞェクトの集玄を倚甚する

名詞/ 動詞 抜出法 #

  • 問題領域に存圚する名詞を掗い出しそれらを衚珟するオブゞェクトを生成する.
  • 名詞に関連した動詞を掗い出し,それらを衚珟するメ゜ッドを远加する

共通性/ 可倉性 分析法 #

  • 共通性分析:
    • 時間が経っおも倉化しにくい構造を芋぀けるもの
    • 共通性分析によっおたずめられた抂念を抜象クラスによっお衚珟
  • 可倉性分析:
    • 倉化しやすい構造を掗い出すもの
    • 可倉性分析で埗た流動的芁玠は抜象クラスの掟生クラスによっお実装される

蚭蚈手順:

  • (抜象クラス) このクラスが持぀責務をすべお党うするにはどうようなむンタヌフェむスが必芁か?
  • (掟生クラス) この特定実装の䞭でどうのようにしお䞎えられた仕様を実装できるのか?

Jim Coplien が提唱. p235 第 15 章から抜粋.

References #