适用于多模块Web应用程序的设计模式

时间:2017-04-12 10:26:41

标签: design-patterns web-applications

我想知道处理多模块Web应用程序的最佳设计模式。

示例: - REST Web服务项目将处理发送SMS的不同类型的请求。

请求类型

  1. 个人短信触发
  2. 促销短信触发器
  3. 交互式短信触发器
  4. 预定短信触发器
  5. 有不同类型的SMS要发送,每种类型都有自己的业务逻辑,在触发SMS之前应用。 哪个是合适的设计模式来处理它?<​​/ p>

    请提供您的建议或链接,这对设计我们的项目非常有帮助。

1 个答案:

答案 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);