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

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

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

MinoDriven ミノ駆動 MinoDriven
21

関連し合うデータとロジックをひとまとめにして、1つのモジュールを定義することをカプセル化といいます。

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

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