Skip to content

discovering the world of reactive programming using Rx .net

Notifications You must be signed in to change notification settings

MoamenSoroor/reactive-rx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reactive-rx

discovering the world of reactive programming using Rx .net This is my practicing to based on the following resources:

Sequence Basics:


Aggregation

  • Count, Min, Max, Sum and Average
  • Functional folds
  • Blocking Operatos: First, Last,Single, FirstOrDefault, LastOrDefault, SingleOrDefault
  • Aggregate Operator
  • Scan Operator
  • MaxBy and MinBy Operators
  • GroupBy Operator

Creating Sequence

  • Simple factory methods
  • Observable.Create
  • Empty, Return, Never and Throw With Observable.Create
  • The Powerfull Of Observable.Create Factory Method
  • Functional unfolds: Unfolding Infinite Sequences using Corecursion
  • Observable.Range
  • Observable.Generate and Create your own Observable.Range
  • Observable.Interval
  • Observable.Timer
  • Timing Operators using Observable.Generate
  • Transitioning into IObservable
  • From FromEventPattern
  • From FromEvent
  • From Task usnig ToObservable() Extension method
  • From IEnumerable using ToObservable() Extension Method
  • From AMP Pattern

Inspection Operators

  • Any Operator
  • All Operator
  • Contains Operator
  • DefaultIfEmpty Operator
  • ElementAt Operator
  • SequenceEquals

Key Types

  • Implementing IObservable and IObserver
  • Subject
  • ReplaySubject with buffer size
  • ReplaySubject with window
  • BehaviorSubject
  • AsyncSubject
  • Implicit contracts
  • ISubject Interface
  • Subject factory

Lifetime Management

  • Lifetime Management
  • IDisposable Type And Dispose Method
  • OnError and OnCompleted
  • IDisposable Important Note
  • Resource management vs. memory management

Reducingsequence

  • Reducing a sequence
  • Where Operator
  • Distinct Operator
  • Distinct Until Changed Operator
  • IgnoreElements
  • Skip, Take, SkipWhile, TakeWhile, TakeLast, and SkipLast
  • SkipUntil and TakeUntil

Transformation

  • Introduction
  • Select Operator
  • Cast and OfType
  • Timestamp
  • TimeInterval
  • Materialize and Dematerialize
  • SelectMany
  • ABC's of functional programming

Taming The Sequence


Advanced Error Handling

  • Catch, Finally, Using, OnErrorResumeNext, and Retry
  • Catch Operator

Combining Sequences

  • Sequential Concatenation
  • Concat Operator
  • Repeat Operator
  • StartWith
  • Concurrent Sequences Operators
  • Amb
  • Merge Operator
  • Switch Operator : Who Come, I will work with you only ^-^
  • Pairing sequences : CombineLatest
  • Pairing sequences : Zip

Hot And Cold Observables

  • Hot ane Cold Observables
  • Publish and Connect
  • RefCount
  • Race Condition When Subscribe Before Connect
  • PublishLatest
  • Replay

Leaving The Monad

  • ForEach : Blocking Method
  • ForEachAsync Non Blocking Operator
  • ToEnumerable
  • ToTask Operator: Removed From newer RX Version
  • ToEvent
  • ToEventPattern

Side Effects

  • Issues With Side Effects
  • Mutable elements cannot be protected
  • Do Operator
  • Encapsulating with AsObservable
  • Finally

Time Shifted

  • Time-shifted sequences
  • Buffer Operator
  • Overlapping Buffers
  • Overlapping Buffers with Time
  • Delay Operator
  • Sample Operator
  • Throttle Operator
  • Timeout Operator

About

discovering the world of reactive programming using Rx .net

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages