これは相続の質問だと思いますが、それを使ったパターンを実装することでよりよく把握しようとしているので、よりよく把握するための質問をしたいと思いました。
仕様パターンを使用し、すべてが仕様から派生した多数の仕様を持ち、それらをラッパー仕様クラスでラップする場合:
例 :
public class CustomerCreditCheck : Specification<Customer> {
private readonly UnlimitedCreditLimitSpecification unlimitedCreditLimitSpec = new UnlimitedCreditLimitSpecification();
private readonly SufficientCustomerCreditAmountSpec sufficientCustCreditAmtSpec = new SufficientCustomerCreditAmountSpec();
private readonly AcceptableCustomerCreditStatusSpecification acceptCustCreditStatusSpec = new AcceptableCustomerCreditStatusSpecification();
public override bool IsSatisfiedBy(Customer customer) {
return acceptCustCreditStatusSpec
.And(unlimitedCreditLimitSpec.Or(sufficientCustCreditAmtSpec))
.IsSatisfiedBy(customer);
}
}
私の質問は、顧客エンティティをacceptCustCreditStatusSpecのIsSatisfiedByメソッドに渡すので(最初の仮定)、顧客エンティティは、unlimitedCreditLimitSpecとSufficientCustCreditAmtSpecの両方の仕様のIsSatisifedByメソッドにどのように渡されるのですか?
ありがとう、