版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件设计思路WhiteHeadStudio版取所有违者脂拜作者余建铮时间2009-12-29文档修订记录
版本修订人修订时间备注1.0.0余建铮2009-12-29初始内容WhiteHeadStudio版取所有违者嗯客内容目录TOC\o"1-5"\h\z前言4\o"CurrentDocument"实体数据工具(EDTools)5界面设计工具(UITools)7\o"CurrentDocument"工作流设计工具(WFTools)8\o"CurrentDocument"通用框架9WhiteHeadStudio版取所有违者嗯客刖言首先,我在这里先对大家表示一下歉意,毕竟是隔了这么久才来写这份软件设计思路了。因为自己对新技术的掌握不是很熟练,从中也浪费了挺多的时间了。现在,我先对这个通用软件的技术体现做一个简单的介绍。界面部分与报表部分,任然是使用WPF的XAML。而在事件驱动上,还是使用IronPython了,目前暂时实体了一个XAML的事件与动态语言的配合实现,但对于复杂的XAML,如ValueConveter,ScriptExpresion,Command,Binding等,暂时还没有解决办法;而工作流方面,仍在考虑之中,因为这部分需要对微软件自身的Workflow要再去了解了;而数据映射层,放弃了原先考虑的ADO.NETEntityFramework4.0,因为这个框架必须是在SqlServer2005以上的版本才可以使用了,而且仅限于SqlServer,这个对于我们原先的三个数据库Access,MySql,SqlServer2000+SP4目标产生在了很大的变化,而NHibernate2.0在分布式程序上没有办法实现,而且它也不利于产生动态实体了。所以出于种种原因的考虑,打算自己做一个实体框架了,来应对通用软件的实现了。基于通用型软件的考虑,我将软件实现分三个小工具来帮助实现,分别是实体数据工具,工作流设计工具,程序界面与动态语言工具。以下是对三个小工具的设计想法,以及一个通用框架的介绍。而代码库项目内容的介绍,由于目前还是处于试开发阶段,还没有一个完整性,修改的可能性还是很大的,所以暂时没有办法提供开发说明。代码库/svn,使用SVN进行下载。实体数据工具(EDTools)左边为数据库连接信息,双击一个表则会对应的产生一个实体了,然后通过对实体的操作,就可以产生三个文件,分别是实体描述文件(*.Entity.xml),对程序会用的实体以xml方式进行描述。<?xmlversion="1.0"encoding="utf-8"?><Entities><EntityName="Person"Alias="A员”〉<Properties><PropertyName="Id"Alias="Id"Type="System.Guid"/><PropertyName="Name"Alias='姓名"Type="System.String"/><PropertyName="BirthDate"Alias="出生日期"Type="System.DateTime"/><PropertyName="Age"Alias="年龄"Type="System.Int32"Expression="[DateTime.Now.Year-self.BirthDate.Year]"/></Properties></Entity></Entities>在程序启动时,将其转换成WhiteHead.Datas.Entity的一个类。方便程序使用。元数据文件(*.Metadata.xml),对实体描述了在程序的约束。<?xmlversion="1.0"encoding="utf-8"?><Metadatas><MetadataEntity="Person"><Properties><PropertyName="Name"LBound="1"UBound="100”/><PropertyName="Age"LBound="1"UBound="100”/></Properties></Metadata></Metadatas>数据表映射文件(*.ORMapping.xml),描述了实体存为数据库表的约束。<?xmlversion="1.0"encoding="utf-8"?><ORMappings><ORMappingDatabase="SqlServer"><Tables><TableName="Person"Entity="Person"><Columns><ColumnName="Id"PropertyName="Id"Type="uniqueidentifier”Length="16"IsAllowNull="True"IsKey="True"Default」'”Commect=""/><ColumnName="Name"PropertyName="Name"Type="nvarchar”Length=”100”IsAllowNull=”True”Default=""Commect=””/><ColumnName="BirthDate"PropertyName="BirthDate"Type="datetime"Length="8"IsAllowNull="True"Default=""Commect=""/></Columns></Table></Tables></ORMapping></ORMappings>而数据库连接部分则会生成Database.xmlo<?xmlversion="1.0"encoding="utf-8"?><Databases><DatabaseName="SqlServer"Type="SqlServer2000"ConnectionString="uid=sa;password=sa;initialcatalog=test;server=.;ConnectTimeout=30;"/></Databases>界面部分,以XAML来进行描述,而事件驱动,则是使用动态语言。目前只实现了XAML事件,没有实现其他的了。工作流设计工具(WFTools)这部分没有太深入,请见谅。通用框架目前只是在各项目里面实现一个WhiteHead.Plugs.IPlugEnvironment接口。在主程序处,以一个Config.xml来进行加载。<?xmlversion="1.0"encoding="utf-8"?><plugs><plug><path>.</path><name>WPFPart.exe</name></plug><plug><p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司采购食品合同模板
- 加盟运营商合同模板
- 代办用工合同模板
- 台湾企业合同模板
- 家电运输管理合同模板
- 服务类咨询合同模板
- 其他财产转让合同模板
- 材料石材合同模板
- 2024年工厂作业员合同书
- 出售商用帐篷合同模板
- 2024年深圳市福田区选用机关事业单位辅助人员和社区专职工作者365人高频难、易错点500题模拟试题附带答案详解
- T-CECS120-2021套接紧定式钢导管施工及验收规程
- 人教版八年级上册数学期中考试试题含答案详解
- 美国实时总统大选报告
- 大学体育理论(山东联盟)智慧树知到课后章节答案2023年下泰山学院
- 研究生二级学科证明
- 钛加工工艺方法综述
- 车辙的形成原因及预防措施
- 2022年同济大学单独考试研究生报考资格审查表
- 施工单位试验室验收方案
- 癃闭中医护理方案解答
评论
0/150
提交评论