このディクショナリが保持している情報が多すぎるように感じます。電子メール パスを構築するための情報を保持し、電子メール テンプレートに必要な他のデータを取得するための追加のパラメータを保持しています。サンプル プログラムの簡易版を次に示します。
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
}
}
他に考慮すべきリファクタリングはありますか?