适用于多模块Web应用程序的设计模式
问题描述:
我想知道处理多模块Web应用程序的最佳设计模式。适用于多模块Web应用程序的设计模式
示例: - REST Web服务项目将处理发送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);