我还在为 OOP 概念和依赖注入而苦苦挣扎,所以请耐心等待。
我已经使用 User 表生成了我的 Linq2Sql 模型,现在我希望能够向该用户发送确认电子邮件,因此我为我的 User 对象创建了一个部分类文件,我觉得添加一个 SendConfirmationEmail() 方法是很自然的到用户类。此方法将使用 MailService 发送实际的电子邮件,我想使用依赖注入来传递服务,所以我在 User 对象上创建了一个构造函数重载,如下所示
public User(IMailService service) : this()
{
_service = service;
}
SendConfirmationEmail 方法看起来像这样
public void SendConfirmationEmail()
{
_service.SendMail(params...);
}
我意识到这是一种糟糕的依赖注入,我希望稍后切换到依赖注入框架,因为我对此有了更多的了解。
对我来说,问题是我需要从我的模型 dll 到我的服务 dll 的引用,这看起来不正确,因为我不确定我的 linq2sql 生成的实体与依赖注入框架和 OOP 概念的关系如何(我认为 ninject 看起来最有希望)。
我希望比我有更多经验的人能告诉我我是否朝着正确的方向前进。我知道我可以让它发挥作用,但我想教育自己在同一步骤中以正确的方式做到这一点。