0

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

我有一个模型消息。一旦我将模型保存在控制器中,我就会调用一个SendEmail(MessageModel message)函数,该函数根据电子邮件的SubbmittedBy和构造Status电子邮件。

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);
}  

有没有什么方法可以通过使用设计模式来降低复杂性和易于阅读?我的电子邮件附加就像每个 100 行if(...)。我有 1000 百行代码,只是不可读。

4

0 回答 0