Insights on .NET Concurrency: Reactive Programming

Table of Contents IntroMotivationBuilding BlocksObservable.CreateObservable TemperatureSubject ClassRx ConcurrencyParallel ExecutionAsynchronous ExecutionNext Intro This is the last form of concurrency we are going to cover in Insights on .NET Concurrency series. Reactive programming is a programming paradigm that is built on the concept of asynchronous data streams. Each asynchronous event feeds into a stream of events, where the stream can be…

Infragistics XamDataGrid – Dynamic Columns using Attached Behavior

I am sharing the code of an Attached Behavior that dynamically populates the columns of an Infragistics data grid; XamDataGrid Control. This post is based on XamDataGrid–Dynamically Create and Data Bind Columns with an Editor of your Choice.   So What’s New Here? The dynamic column creation implementation is packaged up in an extensible and unit testable…

Angular 2 Cross Modules Communication: EventAggregator

In the previous post I covered the implementation of a simple event aggregator purely to demonstrate the key concepts of cross module communication as highlighted in the very first post. We concluded that the simple event aggregator is not DRY enough hence this post. In this final implementation again will utilise Rx to provide publish and subscribe functionalities,…

Angular 2 Cross Modules Communication: Simple EventAggregator

In the previous post I started with an overview of the problem and what sort of problem event aggregators solve. I will start with what I call simple event aggregator. Actually, it doesn’t fully comply to event aggregator pattern, however the objective is to understand the mechanics of event aggregators and how loosely coupled communication amongst…

Angular 2 Cross Modules Communication: EventAggregator Overview

Angular modules are becoming pivotal building blocks in Angular 2 architecture. With Angular 2-RC5 the NgModule is the decorator that defines an Angular module class. Modularity enables us to developed loosely coupled and extensible applications that are built to last and to change. A module encompasses components, templates, services, directives, etc.. into a cohesive block of functionality. Each angular…

Insights on .NET Concurrency: Asynchronous Programming

Table of Contents IntroMotivationsWorkflow of async/awaitCancellationException HandlingEtiquette of async/awaitMixing Parallel & AsynchronousHandling ReentrancyFurther InsightsGetting Started Intro In this post of the concurrency series we will provide insights on asynchronous programming. So what is asynchrony? Succinctly, is about not blocking the thread that initiates an operation. The key difference between synchronous and asynchronous is that the latter can start a new operation…