Thursday, October 23, 2003

Plug-Ins: Let Users Add Functionality to Your .NET Applications with Macros and Plug-Ins

MSDN Magazine, October 2003 --> Most user applications benefit from the ability to be extended by other developers. It's often easier and more efficient to extend an existing application that users are already familiar with and trained on than it is to develop one from scratch. Thus, extensibility makes your application more attractive. You can build extensibility into your application by supporting features like plug-ins or macros. This is easily accomplished using the .NET Framework even if the core application isn't a .NET Framework app. In this article, the author describes extensibility features of the .NET Framework including late binding and reflection and how to use them, along with plug-in security considerations.: "The CLR runs managed code in a Win32® process and the granularity of it is finer than what you would find in unmanaged applications. For example, a single managed process can contain multiple AppDomains which you can think of as a sort of sub-process or lightweight application container.
Assemblies are the managed version of DLL and EXEs and they contain reusable object types such as class library types as well as your application code. Additionally, any extensions or plug-ins to your application would also live in an assembly (most likely a DLL). Assemblies are loaded into one or more AppDomains in your managed process.
Each managed process has at least one default AppDomain, and also contains certain shared resources such as the managed heap, the managed thread pool, and the execution engine itself. In addition to these logical components, a managed process can create any number of additional AppDomains. "

No comments: