オブジェクトの生存期間について
なるべく短くなるように設計、実装する。
短い方が管理しやすい。(生成し、用が済んだらさっさと解放する感じ。)
書き方によって生存期間が変わる1
public class SomethingProcesser { public SomethingProcesser(SomethingData s_data) public void process() }
の場合は、
SomethingProcesser <= SomethingData
となる。
書き方によって生存期間が変わる2
public class SomethingProcesser2 { public SomethingProcesser2() public void process(SomethingData s_data) }
の場合は、
SomethingProcesser >= SomethingData
となる。
書き方によって生存期間が変わる3 (不適切な場合)
前述の書き方を混ぜるとオブジェクトの状態管理が複雑になり、バグの温床となる。 ★こういう状態を作ってはダメ SomethingProcesser3 >= SomethingData && SomethingProcesser3 <= SomethingDatapublic class SomethingProcesser3 { public SomethingProcesser3() public SomethingProcesser3(SomethingData s_data) public void process() public void setSomethingData(SomethingData s_data) }