第9章 データの再編成

変数の分離

変数を設定するのは、一度だけにするべき
イミュータブルにしようね

手順

フィールド名の変更

データ構造は非常に重要なため、明快に保つことが不可欠
レコード構造内のフィールド名の変更の考えは、クラスにも有効
クラスの利用者にとってgetter,setterは実質的なフィールドになる

手順

問い合わせによる導出関数の置き換え

簡単に計算できる変数を全て削除する
計算により、データの意味をより明確にでき、元データが変更された時に変数を更新し忘れてデータが壊れるのを防げる

手順

参照から値への変更

あるフィールドを値として扱う場合、内部オブジェクトは値オブジェクトに変更できる
値オブジェクトは変更不可のため、仕様の把握が容易

共有オブジェクトの場合は参照のままにしておく必要がある

手順

値から参照への変更

値を参照に変更することで、一つの実体に対して存在するオブジェクトは唯一になる
シングルトンとは別?

手順

感想

フィールド名の変更… 言うは易く行うは難しだな
特にDBのフィールド変更は難しい

変数はできるだけ、イミュータブルにしようね

値から参照・値から参照への変更
railsで例えると、値オブジェクトはモデルのインスタンス・参照オブジェクトはモデルみたいなもん?

最初は、attr_accessor, attr_readerを変えるのかなって思っていたけど違うっぽい?