01 2011 档案
主键设定与数据库查询
摘要:在数据库表设计时,许多人为采用INT类型还是GUID(uniqueidentifyer)作为主键争论不休,有认为int型字段好的,有认为GUID好的,很多时候的焦点集中在效率上。为了弄清事实真相,我想还是要以实验来进行测试为准。以下就是为了测试插入效率而写的一段脚本。测试环境是:Xeon 1.6/2G内存 win2003/sqlserver2005 企业版。测试脚本:--测试无主键/Identity/Uniqueidentifier/varchar类型主键插入表时的效率代码运行测试结果如下: 新表无主键插入100万条数据所耗时间:1212856毫秒100万行中再插入10000条数据时间:193 阅读全文
posted @ 2011-01-12 11:27 叩亦杰 阅读(3947) 评论(26) 推荐(2)
外观模式(Facade)
摘要:外观模式: 外观模式的思想其实就是分层的思想,如果在客户代码中出现按业务逻辑调用的情况,其实这是不符合迪米特法则的,因为客户类与详细实现类之间并不存在直接通信。这样我们就可以加入一个业务逻辑层,而这个业务逻辑层其实就是按外观模式设计的。它为子系统的接口提供一个一至的界面。 阅读全文
posted @ 2011-01-10 11:38 叩亦杰 阅读(205) 评论(1) 推荐(1)
迪米特法则(LoD)(最少知道原则)
摘要:如果两个类不必直接通信,那么两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话可以通过第三者转发这个调用。 其实迪米特法则是强调了类之间的松耦合,降低了彼此之间的耦合度。 阅读全文
posted @ 2011-01-10 11:37 叩亦杰 阅读(351) 评论(0) 推荐(1)
linq to entities 学习
摘要:[以前学习Linq To Entities 时自己写的点心得资料,放在这里供初学者参考]1、先实例化entities对象(注意释放所占空间,结合using 使用)2、实例化的entities对象中的表的实体,生成对象a,返回类型为objectquery表实体类名3、使用linq对a进行查询,返回类型为iqueryable你所需要的查询类型(若你只需要一个为字符串类型的字段,可为string,若你需要查出整个表的字段,则可以为表的实体类型。)生成对象b.(若只需要查出表中部分字段且大于一个时可以 var 类型 代码4、查询语句可以使用linq也可以使用,其自带的如select之类的查询函 阅读全文
posted @ 2011-01-10 11:32 叩亦杰 阅读(3934) 评论(6) 推荐(3)
System.Diagnostics命名空间里的Debug类和Trace类的用途【转】
摘要:在 .NET 类库中有一个 System.Diagnostics命名空间,该命名空间提供了一些与系统进程、事件日志、和性能计数器进行交互的类库。当中包括了两个对开发人员而言十分有用的类——Debug类和Trace类。本文介绍了这两个类的一些基本用途,旨在提高广大开发人员的开发效率。目录使用Debug类来帮助调试 Debug类和Trace类的区别 使用Trace类来做程序日志 小结 参考资料使用Debug类来帮助调试调试程序对每个程序员来说是家常便饭。可是我们会经常遇到一些情况让我们头疼,例如:当我们在开发一个界面控件的时候,简单的设断点会增加Paint事件的响应次数,而造成的环境参数改变。 断 阅读全文
posted @ 2011-01-09 15:19 叩亦杰 阅读(1576) 评论(4) 推荐(1)
模板方法模式(TemplateMethod)
摘要:模板方法模式思想: 模板方法模式其实就是将不就的行为放在了超类(抽象父类)以此来去除了类中重复的代码。 阅读全文
posted @ 2011-01-09 15:14 叩亦杰 阅读(193) 评论(0) 推荐(0)
原型模式(Prototype)
摘要:原型模式: 原型模式其实就是一个对象复制的问题,如果我们需要一个一样的对象(值也一样)我们如果再new一个然后赋值则显得太麻烦了,可以使用原型模式,它其实就是具体实现类都继承一个抽象的抽象类,抽象类中有一个方法是在具体类中实现的它就是一个自我复制。在使用的时候抽象类都可以不用写,C#中有一个接口ICloneable中有一个Clone方法,只需在具体实现类的实现即可。memberwiseclone:为C#中的浅表复制。 阅读全文
posted @ 2011-01-09 15:13 叩亦杰 阅读(305) 评论(0) 推荐(0)
简单的web WebService安全
摘要:1. 有关生存期的补充正常情况下,每次调用 WebMethod,服务器都会创建一个新的 WebService 对象,即便客户端使用同一个代理对象多次调用 WebMethod。而我们一旦调用了有缓存标记的 WebMethod,只要未超出缓存期,WebService 对象都不会被重新创建。在缓存期内调用没有缓存标记的 WebMethod,也会继续使用该 WebService 对象。有太多因素让这个缓存机制变得不那么可靠,因此我们不能奢望用缓存标记来维持特定的对象状态,况且缓存机制的设计初衷也只是为了快速输出那些比较稳定非常大的数据。基于多用户并发调用这个环境,WebService 本身最好设计成无 阅读全文
posted @ 2011-01-08 16:50 叩亦杰 阅读(9314) 评论(10) 推荐(2)
代理模式(Proxy)
摘要:代理模式思想:代理模式和装饰模式有点类似,只不过针对的对象有点不同,在装饰模式中使用的是基类对象,而在代理模式中使用的是具体实现类。其实现是:定一个基类,代理类和具体实现类都继承此基类。同时在代理类中定义一个具体实现类的对象。当调用代理类的方法时,其实是针对具体实现类的方法的调用。代理模式优点:1、远程代理 webservice2、虚拟代理 如HTML下载内容多的页面时,图片显示压缩的,再一张张出现3、安全代理 用来控制真实对象的访问权限4、智能指引 如计算一个对象引用的次数 阅读全文
posted @ 2011-01-08 15:07 叩亦杰 阅读(353) 评论(0) 推荐(0)
归纳下正则表达式基础知识
摘要:正则表达式基础知识 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如: JScript VBScript 匹配 /^\[ \t]*$/ "^\[ \t]*$" 匹配一个空白行。 /\d{2}-\d{5}/ "\d{2}-\d{5}" 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。 /(.*).*\/\1/ "(.*).*\/\1" 匹配一个 HTML 标记。 下表是元字符及其在正则表达式上下文 阅读全文
posted @ 2011-01-07 22:16 叩亦杰 阅读(306) 评论(1) 推荐(0)
装饰模式(Decorator)
摘要:装饰模式思想: 之所以提出装饰模式是为了不在核心类中过多的加入可能在某些特殊地方才用到的代码,以减少核心类的复杂度。装饰模式的思想就是将这些特殊地方才用得到的代码放到一个装饰类中,装饰类和具体实现类都继承同一个基类,而在装饰类中new 了一个基类的对象,在装饰类的构造函数中传入实现类的对象并将此对象赋值给基类对象,在装饰类中实现基类的方法时都是针对基类对象调用的且在调用之前或之后可以加入一些装饰。当要执行装饰类时,先new一个实现类对象在创建 装饰类的实现类(考虑多种装饰可以将装饰类也写成抽象的)时将实现类对象传入。后面的操作应该调用装饰类的方法。 阅读全文
posted @ 2011-01-07 21:55 叩亦杰 阅读(263) 评论(0) 推荐(1)
使用XML Schema 定义结构在.NET环境下生成自定义的Word及Excel报表
摘要:基础:微软官方的解释XML与Word关于 Word 中的 XML 文档适用于: Microsoft Office Word 2003注释除了将文档保存为带 Word XML 架构的 XML,其他的 XML 功能只能在 Microsoft Office Professional Edition 2003 和独立的 Microsoft Office Word 2003中使用。为什么使用 XML?可扩展标记语言 (XML) (可扩展标记语言 (XML):标准标记语言 (SGML) 的一种浓缩形式,开发人员可用其创建自定义标签,为整理和提供信息提供了灵活性。) 使您能够以以前不可能或很难实现的方式组织 阅读全文
posted @ 2011-01-06 21:18 叩亦杰 阅读(3429) 评论(1) 推荐(2)
单一、开放封闭、依赖倒转原则
摘要:单一原则: 所谓单一原则就是对一个类而言,应该仅有一个引起它变化的原因。开放—封闭原则: 所谓开放是指易扩展,封闭是指不能对已经存在的进行修改只有使用。依赖倒转原则: 所谓依赖倒转原则是指高层不依赖低层,它们都只依赖抽象。并且抽象不应该依赖细节,细节应该依赖抽象。 阅读全文
posted @ 2011-01-06 19:20 叩亦杰 阅读(261) 评论(0) 推荐(1)
策略模式(strategy)
摘要:策略模式思想: 定义了一个基类,基类中定义了所有要实现的方法。其它具体实现类都继承此基类,并且实现了其中所有的方法。最后还有一个管理的类,专业负责调用具体类的方法。其方法的实现是在此中心类中定一个基类的对象,在生成此中心类对象的时候传入一个具体实现类的对象,将具休实现类的对象赋值给中心类中定义的基类对象。后面方法的调用都是针对本类中的基类对象下的方法进行调用。策略模式与工厂模式相结合使用思想: 作为工厂类的生产对象方法中传入一个类型的参数,用来标识生成哪个类。根据参数确定实例化具体的类,实例化后将此对象赋值给工厂中定义的基类对象。最后调用方法时都是针对基类对象。 阅读全文
posted @ 2011-01-06 19:13 叩亦杰 阅读(1026) 评论(0) 推荐(1)
DTD编写
摘要:以上 DTD 解释如下:!DOCTYPE note (第二行)定义此文档是 note 类型的文档。!ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"!ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型!ELEMENT from (第五行)定义 frome 元素为 "#PCDATA" 类型!ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型!ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型所有的 XML 文档(以及 HTML 阅读全文
posted @ 2011-01-06 14:16 叩亦杰 阅读(1319) 评论(0) 推荐(4)
HTML与XHTML区别
摘要:1、XHTML元素必须被正确地嵌套2、XHTML 元素必须被关闭,空标签也必须被关闭。如br/3、XHTML 元素必须小写4、XHTML 文档必须拥有一个根元素5、XHTML属性名称必须小写,属性值必须加引号,属性不能简写。如:input checked="checked" /6、XHTML用 id 属性代替 name 属性。注意:应该在 "/" 符号前添加一个额外的空格,以使你的 XHTML 与当今的浏览器相兼容7、语言属性(lang)lang 属性应用于几乎所有的 XHTML 元素。它定义元素内部的内容的所用语言的类型。如果在某元素中使用 lang 属性,就必须添加额外的 xml: 阅读全文
posted @ 2011-01-06 14:15 叩亦杰 阅读(1731) 评论(2) 推荐(2)
XML Schema 学习一
摘要:【前段时间考系统架构师,接触下了XML,顺便作了着笔记】schema 元素schema 元素是每一个 XML Schema 的根元素:schema 元素可包含属性。一个 schema 声明往往看上去类似这样:代码解释:下面的片断:显示 schema 中用到的元素和数据类型来自命名空间 "http://www.w3.org/2001/XMLSchema"。同时它还规定了来自命名空间 "http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:这个片断:显示被此 schema 定义的元素 (note, to, from, heading, 阅读全文
posted @ 2011-01-06 10:29 叩亦杰 阅读(2113) 评论(1) 推荐(3)
UML类图
摘要:一、类:第一行:类的名称 (如果为抽象类则为斜体)第二行:类的特性 (字段、属性等)第三行:类的操作(方法、行为)+:表示公有 public-:表示私有 private#:表示保护 protected二、接口: 矩阵表示法 棒棒糖表示法三、关系空心三角形+实线=继承空心三角形+虚线=接口实现实线箭头=关联虚线箭头=依赖空心菱形+实线箭头=聚合实心菱形+实线箭头=组合 阅读全文
posted @ 2011-01-05 19:31 叩亦杰 阅读(300) 评论(4) 推荐(1)
工厂模式
摘要:【前段时间考系统架构师时,看了看设计模式,顺便作了点记录】简单工厂模式的思想是: 所有类都继承一个基类,同时存在一个工厂类专门用来生成对象,形象化的称为工厂模式。缺点:不易扩展,新添加一个类时,同时在工厂类时多添加一个实例化此类的代码,违反了封闭—开放原则。改进: 违反的地方是因为在简单工厂模式中存在条件选择语句case,我们可以要根据依赖倒转原则,让它们依赖抽象。就可以这样设计。工厂模式: 工厂模式的思想是不但将所有的业务类都继承同一个抽象类,而且工厂类也抽象成一个抽象类。这样在每个个体实现的工厂中只对一个具体业务类进行生成对象。就样就可以在扩展的时候只需要增加一个新的业务类和一个新的工厂实 阅读全文
posted @ 2011-01-05 19:29 叩亦杰 阅读(319) 评论(4) 推荐(1)
.NET 打包入门
摘要:1、在这个安装包制作的过程中,所用到的一些图片或者文件,如:快捷键图片,安装步骤中每个图形界面的背景图片等都要事先在[应用程序文件夹]中事先添加好这些图片,即在安装项目中添加这些图片,文件好像是解决方案下debug下的所有文件都拷贝,如exe、config、rpt还有图片等2、安装包中的那个Install里面的方法的执行时间是在:所以的文件都安装好了后再执行其中的号码。如客户端安装是在配置文件已经装好了后,但是其中的配置节还没有信息,但是在代码中赋值之后就有了,还有服务器也一样,如数据库也一样,首先是拷贝到客户端电脑上,然后再执行install中的代码,。获取硬盘上的数据库文件,然后再在数据库 阅读全文
posted @ 2011-01-05 19:24 叩亦杰 阅读(3956) 评论(13) 推荐(5)