getter/setterについて
本日の部活でどうすればいいのかを聞かれたのでメモ書き。
正直、ほとんどの説明はid:bleis-tiftが今年1月末にしてくれていることに同意するので、詳しくはそちらで。
自分の考え
- フィールドと1対1で対応しているgetter/setterは極力使うべきではない
- これが必要になった場合、再設計を考える
- イミュータブルクラスにすることを考える
- それでも必要ならば用いる
これを考えると、C#のget;setプロパティをフィールドで1対1対応させているのをよく見るけど、微妙な機能なのかも知れないなぁ・・・
参考資料
- イミュータブル補足*1
wikipedia:イミュータブル
http://d.hatena.ne.jp/bleis-tift/20080916/1221496279
- getter/setter
http://d.hatena.ne.jp/bleis-tift/20090126/1232949719
http://d.hatena.ne.jp/bleis-tift/20090127/1232985486
*1:イミュータブルと言っても「?」という顔をされたので