5
私は周りを遊んでいるいくつかの簡単な検証のためのいくつかの流暢なインターフェイスを作成しています。私が気づいたことの一つは、たくさんの異なるオブジェクトが作成されていることです。以下の文与え例えばFluent Interfaces - 作成されるオブジェクトの数
: '' のすべてのための
Check.Assertion.ForValue.That(value, "value").IsNotNull() : void
Check.Assertion.ForArgument.That(value, "value").IsNotNull() : void
Validate.Assertion.ForDate.That("Test").IsNotNull() : bool
Validate.Assertion.ForNumeric.That("Test").IsNotNull() : bool
(最後のものを受け入れる)私はオブジェクトを新しくしています。ここで流暢なインターフェイスを使用していない場合、私はちょうど静的メソッドを使用していたでしょう。
静的メソッドを扱う場合のように、この数のインスタンスオブジェクトを使用しているときにパフォーマンスの実際の違いに気づく人は誰でも知っています(非常に小さいオブジェクトです)。
乾杯 アンソニー
私はそのことを考えていなかったねえクールな...私たちはそのメソッド内の新しいSomeOtherObjectオブジェクトを返すされているだけで1つの迅速な事は、私たちが実施し確認してください得ることができませんでしたICheckAssertionForValueThatインターフェイスとちょうどこれを再び返しますか?私は流暢なインターフェイスを設計する際にどれだけの責任が単一のクラスに入るべきかということになると思います。答えは多分私がそれをうまくやっていなかったら、それはすべて同じクラスに入っていたでしょう...あなたはどう思いますか? –
また、新しいオブジェクトを作成することについて心配していますか?唯一のことは、私はこのインタフェースを遠くに使用することです(つまり、異なるメソッドのparamsがnullであるかどうかをチェックし、そうであれば例外をスローします) –