agg*_*gie 6 architecture data-binding system.reactive observer-pattern
在这里对业务层核心进行大规模重新分解,我需要一些帮助来选择/实现更好的设计模式和实现.
题:
我的尽职调查:我理解INPC属于属性级别,另一个是更多的概念对象级别,但使用LINQ似乎IObservable可能是选择.但是,嵌入任何对象内部的简单性和灵活性很诱人.
因此,我只需要帮助理解两者的设计意图/目的/动机,哪一个是观察者模式工厂的最佳重用.
另外,知道任何地方,我可以获得观察员工厂的代码片段
据我所知,INPC 的主要用途是客户端视图数据绑定(即 WPF、Silverlight)。您绝对可以在不用于视图绑定的应用程序中使用 INPC,但string
这里发生了一件笨拙的事情(PropetyName)。使用它的好处是整个对象只需要一个事件,并且在事件中指定属性名称(或者整个对象的空字符串应被视为已更改)。或者,您可以XXXPropertyChanged
为每个事件举办一个活动
IObservable<T>
只是观察者模式的替代实现(即 .NET 事件的替代)。您不需要公开类中的事件,而是公开一个IObservable<T>
. 您只需对OnNext
可观察序列进行赋值,而不是引发事件。IObservable<T>
还具有通过OnError
或进行序列终止的概念的额外好处OnCompleted
。因此,在这种情况下,更好的问题是我应该使用事件还是IObservable<T>
. 为了回答这个问题,我建议优先考虑,IObservable<T>
除非目标受众/消费者不想关心学习 Rx。
这是两者之间相当幼稚的区别,但是我在这里更多地扩展了这个概念http://introtorx.com/Content/v1.0.10621.0/01_WhyRx.html#WhyRx
归档时间: |
|
查看次数: |
2708 次 |
最近记录: |