设计和模式 - mvc4(根据状态创建电子邮件)

时间:2013-08-28 01:47:34

标签: c# asp.net-mvc-4 design-patterns

在创建消息的mvc4应用程序中,我想要一种处理电子邮件正文的好方法,具体取决于状态和其他参数。

我有一条模特信息。将模型保存在控制器中后,我会调用构建电子邮件的SendEmail(MessageModel message)函数,具体取决于电子邮件的SubbmittedByStatus

SendEmail(MessageModel message){
    MailMessage msg = new MailMessage();
    msg.From = new MailAddress("me@me.com", "you");

    switch (MessageStatus)
    {
        case CASE_1 :
            if(SubbmittedBy == ...)
                string bod = "";
                bod.Append(message.Name);
                bod.Append(message.Date);
                bod.Append(message.Attribute2)

                msg.Subject = bod.Append(message.ID);
                msg.Body = "way #2" ;
                ...
            else
                msg.Subject = "way #5";
                msg.Body = "way #6" ;
                ...
        break;
        case status2 :
            if(SubbmittedBy == ...)
                msg.Subject = "way #3";
                msg.Body = "way #4" ;
                ...
            else
                ...
        break;
        case status3 :
            if(SubbmittedBy == ...)
                ...
            else
                ... 
        break;
        case status4 :
            if(SubbmittedBy == ...)
                ...
            else
                ... 
        break;
        case status5 :
            if(SubbmittedBy == ...)
                ...
            else
                ...
        break;
    }

    msg.IsBodyHtml = isBodyHtml;
    sc.Send(msg);
}  

使用设计模式有没有办法让它变得更简单,更容易阅读?我的电子邮件附加内容为每行if(...) 100行。我喜欢1000行代码,但这些代码无法读取。

0 个答案:

没有答案