研发Silverlight框架的简介

嘻嘻,赶在我们的首席架构师开课前,滥竽充数,简单介绍一下研发的新框架。首先,它是基于SharpDevelop这个开源框架,学C#的人都知道这一个框架,它是采用了和Eclipse类似的插件技术来实现整个系统的。
这个框架系统有什么好处呢?首先是扩展性大大的增强了,如果我们在系统发布后需要对系统进行扩充,不必重新编译,只需要修改插件就可以了。其次有利与团队开发,各个功能模块由于是以插件的形式表现在系统中,系统的每日构造就很简单了,不会因为某个模块的错误而导致整个系统的BUILD失败。失败的仅仅是一个插件而已。
例如PhotoShop和Winamp也是用了插件系统,但比较简单的。而SharpDevelop的插件系统更加强大,它的整个系统的基础就仅仅是一个插件管理系统,而你看到的所有的界面、功能统统都是以插件的形式挂入的。在这样的一个插件系统下,我们可以不修改基本系统,仅仅使用插件就构造出各种各样不同的系统。
研发Silverlight框架(以下称为SLMIS框架)正是吸收了SharpDevelop的所用长处。SLMIS框架所用的插件都被组织成一棵插件树结构,我们叫做AddInTree 插件树,而每一个插件则对应着一个AddIn 类,这里的插件是多个功能模块的集合,而不是我们过去认为的一个功能模块。在这个系统还有两个比较重要的类:Codon, IDoozer。Codon给各种功能定义了一些基本的属性和实例化实体(功能)的方法。而IDoozer则提供了一个接口去解析AddIn的节,调用那个Codon和怎样调用Codon。这里就只是简单的介绍一下SLMIS框架的一些细节,有空再更加深入剖析一下SLMIS框架的原理。
SLMIS框架把一般的UI界面分为Workbench,WorkView和WorkPad,还提供了一系列服务,如命令管理服务OperateService,上下文服务ContextMgr等等,为定制开发人员提供了一个可以快速开发的,而且结构统一的平台。
SLMIS框架一个更为重要的地方是它引入了MVVM模式,简单来说就是一个UI界面与业务逻辑相分离,让程序界面和功能分开的编程模型,这样非常有利于团队多人同时开发和以后的界面美化升级,快速地开发出需要的系统。定制开发人员都可以通过IViewModel这样一个统一的接口和它继承的类,简单的进行MVVM模式的开发。
想了解更多的兄弟们,必定要听杨军的讲课,看一下本人修改的《Silverlight版客户端开发手册》~\(≧▽≦)/~啦啦啦。
Tags: 

延伸阅读

最新评论

发表评论