我想知道处理多模块Web应用程序的最佳设计模式。
示例: - REST Web服务项目将处理发送SMS的不同类型的请求。
请求类型
有不同类型的SMS要发送,每种类型都有自己的业务逻辑,在触发SMS之前应用。 哪个是合适的设计模式来处理它?</ p>
请提供您的建议或链接,这对设计我们的项目非常有帮助。
答案 0 :(得分:0)
老实说,如果这是您应用程序的唯一范围,请保持简单,不要试图过度设计或不必要地实施一堆设计模式。
有不同类型的SMS要发送,每种类型都有自己的 在触发SMS之前应用的业务逻辑
您尚未提及基于SMS类型的业务逻辑有何不同。所以在最简单的形式中你可以这样开始:
public interface ISMSService
{
void Send();
}
// One class for each SMS type
public class IndividualSMS : ISMSService
{
public IndividualSMS(<paramters>) {
// <parameters> can be different based on SMS type
}
public void Send() {
// Implement SMS type specific logic
}
}
public class SMSManager {
private readonly ISMSService smsService;
// Inject ISMSService implementation from calling code
public SMSManager(ISMSService smsService) {
this.smsService = smsService;
}
public void SendSMS() {
this.smsService.Send();
}
}
// Client code
var individualSMS = new IndividualSMS(<parameters>); // Use DI container for resolving
var smsManager = new SMSManager(individualSMS);