Category: Patterns and Practices

IPC Event Aggregator in C# (Part-2)

In the previous article Simple Event Aggregator in C# we covered creating a basic “in-memory” mechanism for transferring events within a single process and memory space. Now, let’s extend it to be able to communicate between separate executables (different processes). For that we’ll need to create what known as an Inter-Process Communication (IPC) mechanism. The challenge is that separate executables are isolated from one another by the operating system. Common IPC Solutions A dedicated event aggregator across executables would essentially be building one of the following IPC mechanisms under the hood. You can use existing libraries that abstract this communication for you,…

Simple Event Aggregator in C#

In this post, I’ll go through the inner workings of Event Aggregators, what it is, how to make one, and how to use it. Consider this another brain-dump of past knowledge to assist you in learning something new, or enhancing what you’ve previously known. This article focus on a single application; in another article, we’ll cover IPC (inter-process communication) in a similar fashion. In C#, an Event Aggregator is a design pattern that facilitates loosely coupled communication between different parts of an application, particularly between components that do not have direct references to each other. It acts as a central hub…