我相信这更像是一个继承问题,但是由于我试图通过实现使用它的模式来更好地掌握它,我想我会问我的相关问题以便更好地掌握。
如果您使用规范模式,有许多规范都派生自规范,并用包装规范类包装它们:
例子 :
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 方法?
谢谢,