オブジェクト指向設計実践ガイドを読んだ感想(第4章〜第6章)

インターフェースを定義する際にパブリックインターフェースとプライベートインターフェースがあり、パブリックインターフェースは変更されない、外部から実行されないことを前提としており、プライベートインターフェースは変更されやすい、他のオブジェクトから実行されないことを前提としているのは意識していなかった。今までRailsでやったことはフォームで入力したパラメータを送る際に、外部からデータを入れられないようにするためにプライベートで閉じていたが、これは他のオブジェクトから送られてくることは想定していない特性に入っているのかなと思った。

 

継承は親クラス(スーパークラス)に共通の振る舞い(メソッド)を書いて、子クラス(サブクラス)に継承させてそれぞれの子クラスでそれぞれの振る舞いを定義する認識だった。しかし、一度定義させた後さらに親クラスに共通できる処理はないかを考え、依存関係をなくすため、具体的なものを抽象化していくことが拡張のしやすいアプリケーションになっていくのはなんとなく理解ができた。でも、具体的な事例の話の説明を読んでもまだ理解ができない部分が多かったので、まだまだ設計をしっかり考えてアプリケーションの作成を行っていないのと、まだまだそこまでやれるレベルに達していないなと実感した。この先も難しい話が続いていくと思うけど、だいたいの理解をできるようにしながら読んでいきたい