具有不同所需属性的混凝土 类

Concrete classes with different required properties

我正在实施一个两步验证系统,以发送我有多个提供商(aws、twilio 和 on prem)的短信。我创建了一个接口 ISMSService 并有三个具体的 类 在接口中实现方法 "send"。我的问题是像 aws 或 twilio 这样的每个服务都需要不同的设置参数来发送消息,所以我无法在界面中定义它们。我可以在 "send" 的实现中从 web.config 访问这些参数,但我不想那样做。有没有抽象的方法可以做到这一点并且仍然能够使用 ISMSService 参考发送短信?

您可以让您的发送方法采用地图选项。例如

public void send(Map<String, Object> options) { }