Add-Ins is an application framework that can be used to create modular applications through the use of additional and extensible components.
In short, an application built using Add-Ins framework (MAF) is composed of a "host" and the add-ons, each add-on may be loaded in a separate application domain in order to ensure a certain level of isolation and therefore safety.
The communication between components is effected thus among different application domains and it is based on .NET Remoting, this feature requires the use of contracts or types serializable by channel remoting used so as to pass through the isolation boundary.
The programming model is implemented through the use of namespace:
- System.AddIn,
- System.AddIn.Hosting,
- System.AddIn.Pipeline,
- System.AddIn.Contract.
Below this is a project that briefly shows how you can use MAF to create an application based on add-ins, to make it more understandable and visible use of the add-ins framework I decided to create the add-ins which make up the user interface of an application.
UsingMAFWindowsForms.zip