【发布时间】:2014-08-01 04:57:25
【问题描述】:
我对如何在服务中实现我的构造函数很感兴趣。我对 .NET 有点陌生,所以如果问题太琐碎,请不要误会我的意思。
这是我当前的构造函数,但我想完全理解(因为它看起来可以工作,所以我从某个地方获取了代码)
// initialize UnitOfWork
private IUnitOfWork _unitOfWork;
public TownService()
: this(new UnitOfWork())
{
}
public TownService(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
: this 是什么意思,先调用哪个?我还看到有: base 的构造函数,但我认为那是第一个调用superclass 的构造函数。
我需要打电话给新的UnitOfWork() 吗? UnitOfWork 不应该是 factory (共享)实例吗?或者它是factory 和新的UnitOfWork 不是创建新的而是从内存中获取初始化的?
谢谢。
【问题讨论】:
-
:this(new UnitOfWork()) 表示它使用 IUnitOfWork 接口参数调用构造函数。首先调用哪个,取决于上下文。对于这个问题,也许首先阅读依赖注入。
-
感谢您指出这一点,刚刚发现我有一些 DI 书 :D
标签: asp.net-mvc constructor repository-pattern unit-of-work service-layer