Tag: service locator

使用servicelocation而不是构造函数注入来避免编写工厂类的负载是不好的

现在我们使用DI / IOC,当我们需要将额外的参数传递给构造函数时,我们使用工厂类,例如 public class EmailSender { internal EmailSender(string toEmail, string subject,String body, ILogger emailLogger) {…..} } public class EmailSenderFactory { ILogger emailLogger; public EmailSenderFactory(ILogger emailLogger) { this.emailLogger = emailLogger; } public EmailSender Create(string toEmail, string subject, string body) { return new EmailSender(toEmail, subject, body, emailLogger); } } 现在问题在于我们最终创建了一个完整的工厂类,并且人们并不总是知道使用它们(他们有时会自己创建它们)。 编写类的最大负面因素是: public class EmailSender { EmailLogger […]