こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。
会の概要
タイトルの通りオブジェクト指向のこころを読んでいく会です。今日は第9章の応用問題とあなたの意見を解いていきました。
会の様子
本で気になった部分の議論
P137で、strategyがcontextを照会するパターンはどんなものがあるのだろうか?という話をしていきました。
あんまり良い実装ではないですが、特定のstrategyだけ必要な情報があるような場合だと、strategyがcontextを照会することは有り得そうだという話が出ていました。
また、多態性がないとstrategyパターンには意味がないという話から、実装としてよくないことは承知で、ひたすらパターンを当てはめてみようという話もありました。
応用問題1
結果に注目しているかどうか原因に注目しているかの違いや、変更が有用になる可能性の違い(再設計の原因を予測するほうが、流動的要素がどこかを予測することよりも難度が高い)がありそうだという話がありました。
応用問題2
色々ありますが、一言で言えば変更が難しくなる点が挙げられそうだという話になりました。(変更量が2倍になったり、コードの量が多くて可読性が低下したり...)
一方で、無駄に共通化してしまうよりはコピペしたほうが有用な場合もあるよね、という話も出ていました。
応用問題3
たった一箇所の修正をするだけでも、コード全体を見通したり影響範囲調査を行う必要が出てくる現象のことだろうという話がありました。
応用問題4
デザインパターンを使ったほうがカプセル化の恩恵をそのまま享受できそうだという話が出ていました。
応用問題5
結合度が低くなる点や凝集度が高くなる点が優れているという話になりました。
あなたの意見1
完全に一個人の経験ではありますが、変更しそうだなあと思った部分はよく変更されるので予想が的中するけれども、変更されないだろうなあと思っていた部分もよく変更されることがあるので、予想が外れるという話をしていきました。
如何に予測と違うかを早く知ることが大切で、それこそが早くフィードバックを得るメリットにもなるという話も出ていました。
また、読書会メンバーがアジャイルに慣れ親しんでいることもあり、変更されることが当然だと思っていることも影響していそうだという話になりました。
全体を通した感想
今回もあれこれ実務の話を交えながら会話ができて楽しかったです。
そろそろ実装する機会が欲しくなってきているのですが、この勉強会の中でどうやってそのような機会を作れるかは今後の宿題としていきたいと思いました。