【发布时间】:2021-01-05 19:33:07
【问题描述】:
Specification Pattern 和 (Fluent) Validation 有什么不同?它们相似吗?
// Specification
public class PremiumSpecification<T> : CompositeSpecification<T>
{
private int cost;
public PremiumSpecification(int cost) {
this.cost = cost;
}
public override bool IsSatisfiedBy(T o) {
return (o as Mobile).Cost >= this.cost; // HERE
}
}
// Fluent Validation
public class CustomerValidator : AbstractValidator<Customer> {
public CustomerValidator() {
RuleFor(customer => customer.Cost).GreaterThanOrEqualTo(0);
}
}
【问题讨论】:
标签: c# design-patterns domain-driven-design