オブジェクトの生存期間について

なるべく短くなるように設計、実装する。
短い方が管理しやすい。(生成し、用が済んだらさっさと解放する感じ。)

書き方によって生存期間が変わる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 <= SomethingData
public class SomethingProcesser3
{
	public SomethingProcesser3()
	public SomethingProcesser3(SomethingData s_data)
	public void process()
	public void setSomethingData(SomethingData s_data)
}