我知道,构造器的注入应是管理的真正需要的正确的工作依赖和类的行为时,可以应用。可选性的依赖注入(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请参阅我的更新 –