软件设计思路_第1页
软件设计思路_第2页
软件设计思路_第3页
软件设计思路_第4页
软件设计思路_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件设计思路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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论