/note/tech

SOLID原則は、語呂合わせの勝利みたいなところがあり、あまり真に受けない方がいい模様

SOLID原則は、語呂合わせの勝利みたいなとこはあるわな。

どの原則もオブジェクト指向プログラミングの核心ではなく、一般論すぎる原則と、特定の場合だけの原則とがまぜこぜになって、全体として整合していない。

オブジェクト指向プログラミングを学ぶなら、むしろ遠ざけた方がよい。

@masuda220

例えばリスコフの置換原則の議論は彼女の業績の中では枝葉末節に近い。

リスコフに学ぶべきは、データ抽象によるモジュール化という、それまでになかったプログラミングのアプローチの可能性を明確に打ち出したこと。

データ抽象はオブジェクト指向プログラミングの核心の原則

@masuda220

SRPも本人曰くメイヤーに影響を受けたらしいけど、おそらくクラス設計の一貫性の箇所か、単一責任選択の箇所あたりに何か感じたんだろうけど、どちらもSRPよりも、もっと具体的なクラス設計の原則を語っている。

@masuda220

OCPの原則も、メイヤーから取りれたんだろうけど、これもメイヤーの主張とはだいぶ違う。

メイヤーの場合は継承のメリットとして強調しているんだけど、現在のオブジェクト指向プログラミングでは、実装継承は、むしろアンチパターンに近い。

@masuda220