我覺得這個詞典裏有太多的信息:它保存着構建一個 電子郵件路徑的信息,它包含額外的參數來獲取電子郵件模板所需的其他數據。這裏是我的示例程序的簡化版本:我該如何將這個詞典重構爲一個類?
void Main()
{
//Sample Path = Root/Action/TemplateX.txt
//Date used in other method
Dictionary<string,object> emailDict = new Dictionary<string,object>
{
{"Root","Email"},
{"Action", "Update"},
{"TemplateName", "TemplateX.txt"},
{"Date", DateTime.Now},
};
//Create email object
Email email = new Email();
//Send e-mail with email dictionary
email.SendEmail(emailDict);
}
// Define other methods and classes here
public class Email
{
public void SendEmail(Dictionary<string,object> emailDict)
{
//Build path from emailDict and use parameters from emailDict
//Send E-mail
}
}
我應該考慮其他重要因素嗎?
我想過這個之前,但如果會發生什麼,如果我需要通過一噸的參數來電子郵件。你還會考慮相同的方法,但也許將參數存儲在另一個類中,然後將該類傳遞給Email對象? – xaisoft
如果還有更多的參數,我會有一個默認的構造函數,即沒有參數,並將屬性設置器公開,那麼您可以創建新的電子郵件並在調用發送之前設置所需的屬性。 – markmnl