- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
軟件设计思路
软件设计思路
作者 余建铮 时间 2009-12-29
文档修订记录
版本 修订人 修订时间 备注 1.0.0 余建铮 2009-12-29 初始内容
内容目录前言 4
实体数据工具(EDTools) 5
界面设计工具(UITools) 7
工作流设计工具(WFTools) 8
通用框架 9
前言
首先,我在这里先对大家表示一下歉意,毕竟是隔了这么久才来写这份软件设计思路了。因为自己对新技术的掌握不是很熟练,从中也浪费了挺多的时间了。现在,我先对这个通用软件的技术体现做一个简单的介绍。
界面部分与报表部分,任然是使用WPF的XAML。而在事件驱动上,还是使用IronPython了,目前暂时实体了一个XAML的事件与动态语言的配合实现,但对于复杂的XAML,如ValueConveter,ScriptExpresion,Command,Binding等,暂时还没有解决办法;而工作流方面,仍在考虑之中,因为这部分需要对微软件自身的Workflow要再去了解了;而数据映射层,放弃了原先考虑的ADO.NET Entity Framework 4.0,因为这个框架必须是在Sql Server 2005 以上的版本才可以使用了,而且仅限于Sql Server ,这个对于我们原先的三个数据库Access,MySql,SqlServer2000 + SP4目标产生在了很大的变化,而NHibernate 2.0 在分布式程序上没有办法实现,而且它也不利于产生动态实体了。所以出于种种原因的考虑,打算自己做一个实体框架了,来应对通用软件的实现了。
基于通用型软件的考虑,我将软件实现分三个小工具来帮助实现,分别是实体数据工具,工作流设计工具,程序界面与动态语言工具。以下是对三个小工具的设计想法,以及一个通用框架的介绍。
而代码库项目内容的介绍,由于目前还是处于试开发阶段,还没有一个完整性,修改的可能性还是很大的,所以暂时没有办法提供开发说明。
代码库/svn,使用SVN进行下载。
实体数据工具(EDTools)
左边为数据库连接信息,双击一个表则会对应的产生一个实体了,然后通过对实体的操作,就可以产生三个文件,分别是
实体描述文件(*.Entity.xml),对程序会用的实体以xml方式进行描述。
?xml version=1.0 encoding=utf-8 ?
Entities
Entity Name=Person Alias=人员
Properties
Property Name=Id Alias=Id Type=System.Guid/
Property Name=Name Alias=姓名 Type=System.String/
Property Name=BirthDate Alias=出生日期 Type=System.DateTime/
Property Name=Age Alias=年龄 Type=System.Int32 Expression=[DateTime.Now.Year - self.BirthDate.Year]/
/Properties
/Entity
/Entities
在程序启动时,将其转换成WhiteHead.Datas.Entity的一个类。
方便程序使用。
元数据文件(*.Metadata.xml),对实体描述了在程序的约束。
?xml version=1.0 encoding=utf-8 ?
Metadatas
Metadata Entity=Person
Properties
Property Name=Name LBound=1 UBound=100/
Property Name=Age LBound=1 UBound=100/
/Properties
/Metadata
/Metadatas
数据表映射文件(*.ORMapping.xml),描述了实体存为数据库表的约束。
?xml version=1.0 encoding=utf-8 ?
ORMappings
ORMapping Database=SqlServer
Tables
Table Name=Person Entity=Person
Columns
Column Name=Id PropertyName=Id Type=uniqueidentifier Length=16 IsAllowNull=True I
文档评论(0)