问题:如何根据类型处理替代方案?
解决方案:当相关的替代或行为因类型(类)而异时,将行为(使用多态操作)的责任分配给行为变化的类型。
多态性是面向对象设计的基本原则。在这种情况下,原则与(以及其他)战略策略模式密切相关。
Customer类的构造函数 将 ICustomerUniquenessChecker接口作为参数:
public Customer(string email, string name, ICustomerUniquenessChecker customerUniquenessChecker) |
我们可以根据需要提供此接口的不同实现。一般来说,当我们在我们的系统中具有相同输入和输出(在结构方面)的不同算法时,这是非常有用的方法。