【发布时间】:2009-05-26 04:32:39
【问题描述】:
而不是使用这样的接口:
public interface IStartable
{
void Start();
void Stop();
}
我通常只是让对象的构造函数运行 Start() 代码,并实现 IDisposable 以便 dispose 方法运行 Stop() 代码。
这只是风格问题吗?还是因为没有像 IStartable 这样的东西而错过了一些重要的东西?我所看到的只是额外的复杂性,因为您必须保持它的启动/停止状态。
使用 start/stop 与使用 ctor/dispose 的优缺点是什么,尤其是在 IoC/DI 容器的上下文中?
编辑:很好的答案,您已经说服我使用可启动对象的接口。我无法决定谁的答案最好,所以我会在 24 小时后接受投票最多的人。
【问题讨论】:
标签: oop dependency-injection inversion-of-control object-lifetime