エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
自分でクラスを組み立てていく時、 なんでもかんでもインスタンスの生成後に書き換え可能にしていないだ... 自分でクラスを組み立てていく時、 なんでもかんでもインスタンスの生成後に書き換え可能にしていないだろうか。 クラスを ・不変オブジェクト ・可変オブジェクト の2つに分類する考え方がある。 簡単に言えばNSMutableArrayとNSArrayのような関係だ。 たいした違いじゃないじゃないか?と一瞬思ってしまうが、 ここには非常に大きな差がある。 第一に不変オブジェクトはバグを生みにくい。これはオブジェクトが状態を変化させない、つまり「特定の状態でしか起きないバグ」をかなり減らせるからだ。 第二にデータの複製を考えなくていい。 変更されないんだから、ポインタだけわたせばいいのだ。これは非常に効率的である。クラスメンバに可変オブジェクトを持つ場合、そのオブジェクトのポインタを外に出すのは危険である。だから防御的にコピーしたりする場合もあるが、不変オブジェクトなら安心して外にポインタを預けら