2 回答
TA贡献1840条经验 获得超5个赞
使用工厂。使用它的代码可能只关心向某个电话号码提供字符串消息,并返回是否成功以及如果不成功则可能返回错误消息。
创建消息本身以遵循不同的提供者/实现应该只是在一个黑匣子中。不同的提供者只会有不同的构造函数。
public interface ISmsProvider
{
(bool, string) SendMessage(string number, string message);
}
public class SampleSmsProvider1 : ISmsProvider
{
public SampleSmsProvider1(string userKey, string passKey)
{
// initialize
}
public (bool, string) SendMessage(string number, string message)
{
// send the message (using a provider implementation from NuGet perhaps)
// return success/fail and error message, if applicable
return (true, string.Empty);
}
}
public class SmsFactory
{
public ISmsProvider GetProvider()
{
// Initialize and return one of the ISmsProvider implementations, depending on (I guess) the configuration
}
}
- 2 回答
- 0 关注
- 177 浏览
添加回答
举报