1
我有一个值,我希望用户能够订阅并推送到,所以在我的课程内部我使用主题<T>。我应该公开ISubject <T>或IObservable <T>和IObserver <T>?
当露出这个值作为属性我会尽力公开为ISubject <牛逼>或者是它更好地ISubject <牛逼>分成IObserver <牛逼>和的IObservable <牛逼>?
选项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,对命名约定的任何想法也是受欢迎的。