【问题标题】:Suitable Design pattern for multi module web application适用于多模块 Web 应用程序的设计模式
【发布时间】:2017-04-12 10:26:41
【问题描述】:

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

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

请求类型

  1. 个人短信触发
  2. 促销短信触发
  3. 交互式短信触发器
  4. 预定的 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2011-08-27
      • 1970-01-01
      • 2011-12-12
      • 2011-01-07
      • 1970-01-01
      • 2013-09-27
      相关资源
      最近更新 更多