DDD-Specificationパターン
DDDのSpecificationパターン(みたいなもの)を書いてみる。
まずは、ISpecificationインターフェース、型パラメータを引数にboolを返す。
型パラメータTには顧客クラスとか請求書クラスとか、Entityがインプットになる。
Entity側でIsなんとかメソッドを大量に実装するんじゃなくて、クラスとして分断し、好きに組み合わせることが出来るようにしましょう。っていうことですね。
書籍ではAND、OR、NOTといった論理演算を閉じた操作で組み合わせることが出来ますが少し違うアプローチで。
まずはAND
OR
そしてNOT