在c#,WPF的程序开发中,设计了很多的程序架构,工程类库,设计了多种接口和模式。最终还是觉得微内核+插件式的形式更适用于国内的软件开发,包括各种应用系统。先 用内核插件的方式,搭建最小系统,然后根据 “多变” 的项目需求,设计插件模块,进行动态引用。在最终发布时,根据情况,将一些可以固定的模块进行静态引用划分。
插件内核的开发也需要划分模块,这是关键点。
目前针对C#有很多成熟的插件式样构架,如
1、MEF (Managed Extensibility Framework)
2、MAF ( Managed Add-in Framework )
3、OSGi.NET (Open Service Gateway Initiative)
4、CSLA.NET Component-based Scalable Logical Architecture
5、SharpDevelop
6、DevExpress XAF
7、Assemble direct这些框架使用的最底层原理都是反射来实现程序集的动态加载。
最终觉得SharpDevelop更好一些,理由:
1、源码完全开放。
2、完整的插件引用协议描述。
3、完整的架构体系
4、有成熟的多语言、反射集、流程处理、菜单、界面框架等模块。
先期经过调研,已成熟的进入使用,采用sd4.0和5.0进行开发。
接下来针对sd做一系列的技术课题讲解。