信息系统开发平台OpenExpressApp -代码目录说明
本篇将对OpenExpressApp的SVN目录进行说明,读完之后大家能够熟悉OpenExpressApp的目录结构,这样可以从整体上更好的去理解和查看代码。由于时间关系,有些代码实现还有待修改,也希望大家在查看过程中多提出重构或修改的建议:)
SVN目录
- OpenExpressApp:OpenExpressApp框架代码
OpenExpressApp.Host.WPF:WPF客户端宿主启动程序,打开后会根据部署的程序集装载Library和Module目录下的模块
OpenExpressApp.MetaModel:框架基于模型开发,这是元模型目录单元,目前主要支持UI模型
OpenExpressApp.Module:框架模块目录,由于框架将同时支持C/S、B/S等多种表现形式,把这些表现形式的共性抽取出来存在这这个目录,以便后续支持多客户端
OpenExpressApp.Module.WPF:特定于WPF具体实现的模块目录。
OpenExpressApp.Module.WPF.Style:支持WPF样式程序集,作为扩展表现样式用,可以实现多个程序集,通过替换和切换展现多种样式
OpenExpressApp.Server.WPFHost:服务器端WCF宿主,由于IIS有时在客户机器上安装有点麻烦,这里就提供了一个简单的WPF的WCF宿主
CodeGen:CodeSimth的VS项目,方便在VS中进行代码生成 - Lib:OpenExpressApp发布目录,包括框架发布程序集以及引用第三方程序集,还有一个代码模板目录
CodeGen:包括两个CodeSmith模板,一个子对象,一个根对象类库模板
Library:在客户端和服务器端exe目录下都存在这个目录,存放业务类库程序集
Module:在客户端exe目录下都存在这个目录,存放业务类客户端功能扩展程序集
- Example:示例代码目录
- GIX4:产品开发目录,特定项目的开发目录,现在一般包括两个目录:Library和Module.WPF(支持WPF)
XXX.Library:项目业务类库单元
XXX.Module.WPF:项目客户端功能扩展 - OpenSource:引用的开源代码,方便大家获取和查看引用的开源代码
doc:部分介绍文档
XXX:各个开源项目源代码
AvalonDock:类似VS的泊靠WPF控件
CompositeWPF、Wpf-Contrib、wpfToolkit:codeplex中WPF的开源项目
CSLA:CSLA框架,代码中加入了LiteORM代码
由于现在主要实现了WPF的客户端,下面对OpenExpressApp.Module.WPF的目录进行简单的讲解,以便大家能够有所了解。
OpenExpressApp.Module.WPF说明
- AutoUI:UI自动生成功能,实现了ListObjectView、DetailObjectView、CondtioQueryObjectView、NavigateQueryObjectView,后面会对框架的View单独进行讲解
- Command:实现WPF Command
Pattern:第三方Command实现
ObjectEditCommand:对象通用代码,由于时间关系,对树形支持还没有很好的控件可以使用,现在代码有些内部会判断是否树形 - Controls:WPF控件,有树形对象列表控件(第三方),我只是组合起来而已,还有一个下拉列表控件(支持树形和列表)
- Editors:DetailObjectView的属性编辑器、Grid和Tree单元格属性编辑器
- Images:Command对于的图片,根据Image名称和Command名称自动关联
- Resources:样式资源,现在有下拉列表控件资源LookupListPropertyEditorControl.xaml
- SystemModule:OpenExpressApp系统支持的系统模块,有模块导航模块和首页模块
- Templete:支持的窗体模板,现在支持单据样式、列表样式和查询模块样式,后期会单独介绍
- Themes:主题
如果后期增加对ASP.Net MVC的B/S支持,则需要在OpenExpressApp目录下增加一个特定ASP.NET MVC下的模块目录OpenExpressApp.Module.ASPMVC,增加一个IIS的WCF宿主模块OpenExpressApp.Server.IISHost