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