【发布时间】:2010-12-03 17:15:52
【问题描述】:
我有一个值,我希望用户能够订阅和推送,所以在我的班级内部我使用 Subject
当将此值作为属性公开时,我最好将其公开为 ISubject
选项 1:
private readonly ISubject<bool> isLightOn = new Subject<bool>();
public ISubject<bool> IsLightOn
{
get
{
return this.isLightOn;
}
}
选项 2:
private readonly ISubject<bool> isLightOn = new Subject<bool>();
public IObservable<bool> IsLightOnOut
{
get
{
return this.isLightOn.AsObservable();
}
}
public IObserver<bool> IsLightOnIn
{
get
{
return this.isLightOn.AsObserver();
}
}
哪个更好,为什么?如果是选项 2,也欢迎对命名约定提出任何想法。
【问题讨论】: