07 2011 档案
摘要:在这一层中,应用了sql server CTE,关于cte,在这里补充一下:CTE (Common Table Expression),是从sql server 2005开始支持的一种表达式,它是一种临时结果集,与派生表类似,仅在查询期间有效。与派生表不同的是,cte可以调用自身,从而实现递归。此外,还可以在同一查询中引用多次。下面是CTE的语法:[ WITH [ ,n ] ]::=expression_name [ ( column_name [ ,n ] ) ]AS( CTE_query_definition )至少有一个定位点成员和一个递归成员,当然,你可以定义多个定位点成员和递归成员,
阅读全文
摘要:Controller 这一层首先要添加对WCF 的引用:如下,输入我们自己的wcf地址http://localhost:8732/Design_Time_Addresses/InfoPub.BLLService/Service1/mex为了解析嵌套结构的类,我们加入JsonBinderusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Script.Serialization;namespace InfoPub
阅读全文
摘要:BLL层我们用wcf 来提供服务,这一层我们只对外只发布一个服务,为了使我们的代码可维护更好,我们引入抽象工厂模式。这样的话我们首先也创建三个接口:1) IInfo InfoResult Add(Info info);InfoResult Update(Info info);InfoResult Delete(int infoId);InfoList GetInfoList(SearchInfo searchInfo);InfoList GetInfoById(int infoId);2) IInfoType跟上面相同,不再赘述。3) IUserInfo跟上面相同,不再赘述。然后实现这三个接口
阅读全文
摘要:跟model层一样,我们同样可以用动软代码生成器来生成DAL层。这一层主要是数据库的访问,不再多介绍.需要说明的是我们要把微软的SqlHelper类引入我们的项目,这样我们访问数据库用这个类就够了,关于这个类大伙可以参见微软petshop中的SqlHelper类。1. 首先定义接口我们创建三个接口: 1) IInfo InfoResult Add(Info info);InfoResult Update(Info info);InfoResult Delete(int infoId);InfoList GetInfoList(SearchInfo searchInfo);InfoList Ge
阅读全文
摘要:下面开始在我们的解决方案里面增加实体.这一层我个人感觉是跟数据库的映射层次,有了这一层,各层访问数据库会方便很多,不然的话得用DataSet或DataReader的直接访问了。理解为持久化对象就ok了。在这里我们开始使用动软.Net代码生成器,这个网上很多,想使用的下载就可以了,更好的是CodeSmith 只不过这个工具我们需要自定义模板。用代码生成器是为了我们自己一手写重复的代码,仅此而已。安装好动软.Net代码生成器后,进入下面的界面:首先在左边的树菜单新增服务器,如下:选择下一步:输入相对应的服务器,用户/密码,数据库,选择确定即可。然后在左侧新建好的服务器选择连接:选择其中的info表
阅读全文
摘要:由于vs2010 本身不带 mvc3,所以我们需要下载AspNetMVC3ToolsUpdateSetup.exe下载地址如下:http://www.asp.net/mvc安装完成后,即可创建mvc3的项目如下,输入我们的项目名称InfoPub:选择ok,进入下个页面:在这里我们选择Empty,注意默认的其他两个项目模板会自动生成登录,注册相关的一些东东,我们不需要,自动生成的结构如下:系统已经默认帮我们把jquery加入到Scripts下了,这里介绍一下:这里面包括了我们后面要用到的jquery 1.5.1(基本的jquery 1.5.1),jquery validate(验证),jquer
阅读全文
摘要:数据库设计工具我们依然采用Enterprise Architect 7.5 汉化版在这里可以稍微介绍下EA,个人比较喜欢Enterprise Architect ,这个工具比较类似Rational Rose网上有破解版本,它可以支持从需求分析到设计部署的全过程建模上问我们用了它的用例建模,下面我们开始使用它的数据库建模,下面是ea的操作界面:我们双击右边model下的Data model,选择左边Class下的table,出现新建table:这里一个关键的地方是记得选择数据库:我这里选择的是sql server 2005,输入数据名称后,选择Table Detail:选择列/变量:为表定义列名
阅读全文
摘要:最近朋友的公司已经注册完成了,需要我帮它来开发信息发布系统. 我最近在公司做的项目多为微软的mvc 架构的开发,借给朋友做系统的机会,自己也总结一下,也跟大伙分享一下. 首先是工具准备 Enterprise Architect 7.5 汉化版(描述需求和设计) microsoft visio VS2010+SQL SERVER 2008(朋友的网站小access就够了,我本机就用sql server吧) 动软.Net代码生成器+CodeSmith Studio(用于生成一些重复用的代码) 下面描述一下信息发布的需求: 开发这个系统本身是为了朋友公司的网站信息发布,朋友的公司主要是做仪表类的产.
阅读全文
摘要:InterpreterTemplate Method Chain of ResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor 名称Interpreter结构 意图给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。适用性当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好: 该文法简单对于复杂的文法, 文法的类层次变得庞大而无法管理。此时语法分析程序生成器这样的工具是更好的选择。它们无需
阅读全文
摘要:名称Adapter结构意图将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 (仅适用于对象A d a p t e r )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。 Code Examplenamespace Adapter_DesignPattern{ using System;
阅读全文
摘要:为了方便阅读,我把一篇设计模式的资料拆分开发,分为三个大的部分,如下:Factory Abstract FactoryBuilderPrototypeSingleton 名称Factory Method结构意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。适用性当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 Code Examplenamespace FactoryMet
阅读全文
摘要:者当前正在负责研究所中一个项目,这个项目基于.NET平台,初步拟采用C/S部署体系,所以选择了Windows Forms作为其UI。经过几此迭代,我们发现了一个问题:虽然业务逻辑已经封装到Services层中,但诸多的UI逻辑仍然弥漫在各个事件 Listener中,使得UI显得臃肿不堪,并且存在诸多重复性代码。另外,需求提供方说,根据实际需要,不排除将部署结构改为B/S的可能性,甚至可能 会要求此系统同时支持C/S和B/S两种部署方式。那么,如果保持目前将UI逻辑编码到Windows Forms中的方式,到时这些UI逻辑将无法复用,修改部署方式的代价很大。 为了解决以上两个问题,笔者和相关人员
阅读全文
摘要:下面是一些资料 /Files/hliq/CMMI资料.rar1.1 CMMI简介1.1.1 CMMI发展简史 CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是用于产品开发(或服务)的过程改进成熟度模型。CMMI的最佳实践覆盖了产品构思、交付和维护的整个生命周期。1981年,美国卡内基梅隆大学软件工程研究所(SEI),应美国联邦政府的要求开发的一种用于评价软件承包商能力并帮助其改善质量的方法。Watts Humphrey将成熟框架带到了SEI并增加了成熟度等级的概念,将这些原理应用于软件开发,发展成为软件过程成熟度框架,它提供了一个评估
阅读全文