クソコード動画『カプセル化 Mk-II』で考える、上手くカプセル化できない理由 by ミノ駆動

Object-Oriented Conference 2024
採択
2024/03/24 13:00〜
Track A(共2-201)
ロングセッション(40分)

クソコード動画『カプセル化 Mk-II』で考える、上手くカプセル化できない理由

MinoDriven ミノ駆動 MinoDriven
9

関連し合うデータとロジックを隠蔽し、正しい操作手段のみ外部へ公開することをカプセル化といいます。

正しくカプセル化すると、関心事それぞれで高凝集疎結合になり、変更に強い構造になります。
ところが上手くカプセル化できなかったり、仕様変更により意図せずカプセル化が破られてしまうことが往々にしてあります。
カプセル化が破られると密結合になり、整合性の維持が困難になったり、変更に弱い構造になってしまいます。

本セッションでは、カプセル化の設計が良くないとどんな凄惨な地獄が待ち受けているかを風刺したクソコード動画、『カプセル化 Mk-II』を上映します。
(参考:クソコード動画『カプセル化』 https://twitter.com/MinoDriven/status/1142926621583663104 )
動画の中で何がマズかったのか、高品質なカプセル化をするにはどう設計すればいいのかについて、「目的論的抽象」という抽象化の観点で解説します。
その他カプセル化する上で考慮が必要な観点や、カプセル化に関するよくある誤解などについてもあわせて解説いたします。