Vra

IObservable<T> en IObserver<T> koppelvlakke word direk in die System naamruimte in NET Framework 4.0 beta2 geplaas. Hoekom nie in System.Collections.Generic, soos IEnumerable<T>?

post scriptum. Reaktiewe Framework voorskou van Silver Toolkit bevat IObserver<T> in die System.Collections.Generic naamruimte.

Was dit nuttig?

Oplossing

Die ding wat nuwe IObservable / IObserver koppelvlakke beskryf is 'n abstraksie veel hoër is as net versamelings wat gesien kan word as 'n spesiale geval van berekeninge (dis hoekom lyste in Haskell is Monads). Dit is dus duidelik dat so 'n veralgemening is geplaas om System naamruimte.

Neem 'n blik op hierdie briljante cast van Erik Meijer waar hy agter die koppelvlakke beskryf die idees.

Ander wenke

IObservable is 'n koppelvlak wat identifiseer 'n klas wat die Observer patroon implemente. Dit is nie verband hou met versamelings. Sy meer met betrekking tot die verskaffing van 'n alternatief vir Events.

Hoewel dit 'n ou vraag wat ek afgekom op, ek wou net om terug @ assessering van die 'dualisme' tussen IObservable en ControlFlow se IEnumerable as 'n "gestoot gebaseer 'vs' Trek gebaseer 'n versameling met 'n skakel na Erik Meijer se" Rx in 15 minute, waar hy kan aangehaal word as presies wat gesê. http://channel9.msdn.com/posts / Charles / Erik-Meijer-Rx-in-15-minute /

Gevolglik kan hierdie gestoot-gebaseerde versameling fundamenteel skuif die basiese paradigma van 'n alledaagse reeks genoem gebeure 'in 'n asinchrone, kies, navraag-staat, begaanbaar en skryf-staat eersterangse versameling van verklarende aksie. Iets wat dit doen behoort in die kern BCL naamruimte of miskien verdien sy eie, maar is te ver buite Tog-Nog-versameling aan sy naamruimte deel. Mind you, dit is net my opinie.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top