A Plugin Architecture for C# with perfect Encapsulation and runtime Polymorphism
Channel: Magix Illuminate
Date: 2015-04-06

Encapsulation and Polymorphism are the two most important constructs of system development. These two constructs, is what allows us to break projects into smaller pieces, and combine our smaller building blocks together, to create complex applications.

Without encapsulation, there can be no reuse, and without polymorphism, there can be no exchanging of one piece of logic, with another piece of logic.

In this video, I am demonstrating how to achieve 100% perfect encapsulation and runtime polymorphism in C#, something that for most developers might sound like a fairy-tale. My code is exclusively based upon one simple Design Pattern, that allows me to plugin functionality, without creating any dependencies between my building blocks what so ever.

If you wish to play around with the code I am demonstrating in this video, you can download it here; https://drive.google.com/file/d/0B5khiU8I2AUXdjFMczFsSXl6c2M/view?usp=sharing