【问题标题】:Suitable Design pattern for multi module web application适用于多模块 Web 应用程序的设计模式
【发布时间】:2017-04-12 10:26:41
【问题描述】:
我想知道处理多模块 Web 应用程序的最佳设计模式。
示例:- REST Web 服务项目将处理不同类型的发送 SMS 请求。
请求类型
- 个人短信触发
- 促销短信触发
- 交互式短信触发器
- 预定的 SMS 触发器
有不同类型的 SMS 要发送,每种类型在触发 SMS 之前都有自己的业务逻辑要应用。
哪种设计模式适合处理它?
请提供您的建议或链接,这将对我们的项目设计有很大帮助。
【问题讨论】:
标签:
design-patterns
web-applications
【解决方案1】:
老实说,如果这是您的应用程序的唯一范围,请保持简单,不要因尝试过度设计或不必要地实现一堆设计模式而忘乎所以。
有不同类型的短信要发送,每种类型都有自己的
在触发 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);