介绍
规范模式是一种特定的软件设计模式,通过使用布尔逻辑 (维基百科)将业务规则链接在一起,可以重新组合业务规则。
在实际中,它主要用于 为实体或其他业务对象定义可重用的过滤器。
例
在本节中,我们将看到需要规格模式。本节是通用的,与ABP的实现无关。
假设您有一种服务方法来计算客户的总数,如下所示:
public class CustomerManager { public int GetCustomerCount() { // TODO ... return 0 ; } }
您可能希望通过过滤器获得客户数量。例如,您可能会有高级客户(其余额超过10万美元),或者您可能想要通过 注册年度过滤客户。然后,您可以创建其他方法,如GetPremiumCustomerCount(), GetCustomerCountRegisteredInYear(int year), GetPremiumCustomerCountRegisteredInYear(int year)等。由于您有更多的标准,因此无法为每种可能性创建组合。
这个问题的一个解决方案是规范模式。我们可以创建一个获取参数作为过滤器的方法:
延伸阅读
学习是年轻人改变自己的最好方式