我知道,構造器的注入應是管理的真正需要的正確的工作依賴和類的行爲時,可以應用。可選性的依賴注入(StructureMap)
即使如此,我想揭露這個例子。讓我們假設一個郵件服務器類:
public class MailServer : IMailServer
{
public MailServer(ServerData serverData)
{
_serverData = serverData;
}
public void SendMail(MailData mailData)
{
//Work with mailData instance and send mail
...
smtp.Send(mail);
}
}
ServerData包含需要知道如何發送郵件,比如信息:服務器IP地址,請從源地址,從密碼。 MailData包含您要發送郵件的必需正文和地址。
兩者都是必需的依賴關係。 哪些困擾我,我不知道如何解決的是ServerData可能在應用程序的不同位置不同。如果在發票系統中使用IMailServer,郵件應該來自'[email protected]',但如果在其他區域使用該郵件,則應該從'[email protected]'。
我不知道這是管理的正確方法。至於與依賴注入相關的所有內容,我想知道與已公開的功能相關的良好實踐。這些代碼總是以幾乎所有的應用程序結束,知道如何完成它將是一件非常棒的事情。
非常感謝!
非常感謝塞巴斯蒂安爲您的時間。不知道我完全理解如何註冊多個實例或如何組合後。您能否提供一些鏈接或參考? – IoChaos
@IoChaos請參閱我的更新 –