06 2008 档案

摘要:1.概述 单例模式(Singleton Pattern)又称单件模式,单例模式保证一个类仅有一个实例,并提供一个访问的他的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化对个对象,一个最好的办法就是,让类自身负责保存他的唯一实例,这个类可以保证没有其他实例可以被创建并且他可以提供一个访问该实例的方法。 使用场合:当类只能有一个实例存在,并且可以... 阅读全文
posted @ 2008-06-27 00:03 peida 阅读(4307) 评论(6) 推荐(0) 编辑
摘要:1.概述 意图:我们将已经存在的对象作为原型,用户可以通过复制这些原型创建新的对象。 使用场合:当一个系统应该独立于产品的创建、构造和表示时,可以使用原型模式。在原型模式中,产品的创建和初始化再类的Clone方法中完成。在使用是,我们可以用一些列原型对象来代替生成相应对象的工厂对象,并且可以使拷贝、粘贴等操作独立于需要复制的对象。 结构: 原型模式(Protot... 阅读全文
posted @ 2008-06-26 08:44 peida 阅读(1509) 评论(2) 推荐(0) 编辑
摘要:6. Lambda Expressions (Lambda表达式)与Expressions Tree(表达式树) 什么是Lambda表达式?我们可以认为它是匿名方法的简洁写法,例如下面这个匿名方法: delegate(int age) { return age age (s.In... 阅读全文
posted @ 2008-06-19 16:28 peida 阅读(688) 评论(0) 推荐(0) 编辑
摘要:1.概述 意图:将复杂对象的构建与表示分离,是同样的构建过程可以创建过程可以创建不同的表示。需要注意以下几点: (1)。构建与表示分离:表明生成器模式的结构,构建过程被封装在导航器中,生成器则实现具体的表示。 (2)。同样的构建过程:生成器模式关注的是构建过程,即构建过程是相同的。 (3)。不同的表示:生成器模式并不在意产生对象的结果,其构造的产品不一定... 阅读全文
posted @ 2008-06-18 09:21 peida 阅读(1176) 评论(0) 推荐(0) 编辑
摘要:4. Object and Collection Initializers(对象和集合初始器) Object Initializer(对象初始器),顾名思义就是一种初始化对象的方式,这个“器”并非某个具体的类或者方法。 假设我们有一个用于个人信息的数据类,如下所示: public class Person { public int... 阅读全文
posted @ 2008-06-17 17:23 peida 阅读(738) 评论(0) 推荐(0) 编辑
摘要:C# 3.0新语言特性在.NET2.0基础上进行了改进,这些改进的功能可以大大简化我们编写程序。我在这里简单记录一下自己所学笔记,也为后面的LINQ学习打下基础。 1. 隐含类型局部变量(Local Variable Type Inference) C#3.0引进了var这个新关键字,在声明局部变量时可用于替代原先的类型名,即当一个变量声明标识为var类型并且该范围域中没有... 阅读全文
posted @ 2008-06-16 18:39 peida 阅读(800) 评论(0) 推荐(0) 编辑
摘要:前面学习了一部分创建型模式,发现了一个比设计模式更重要的东西:设计模式原则。对于设计模式来说,为什么这个模式要这样解决这个问题,而另一个模式要那样,它们背后都遵循的就是永恒的设计原则。可以说,设计原则是设计模式的灵魂。 三大基本面向对象设计原则: 1.针对接口编程,而不是针对实现编程 ;2。优先使用对象组全,而不是类继承;3.封装变化点。 ... 阅读全文
posted @ 2008-06-14 11:59 peida 阅读(1853) 评论(0) 推荐(0) 编辑
摘要:无法连接到服务器 服务器:消息18452, 级别16,状态1 [Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用... 阅读全文
posted @ 2008-06-13 11:40 peida 阅读(11769) 评论(0) 推荐(0) 编辑
摘要:1. 简述 通过前面的学习,我们以传统的方式实现了简单工厂,工厂方法和抽象工厂,但是有些场合下如此处理,代码会变得冗余并且难以维护。假设我们要创建交通工具。可以是汽车,火车,轮船等,其结构如下: 我们可以采用简单工厂,通过参数指示创建所需要的对象类型。如果要增加子类,例如卡车和轿车,则必须增加参数和相应的代码。如果子类层次过多,则会是程序变得很难维护。 但我们... 阅读全文
posted @ 2008-06-12 14:23 peida 阅读(3437) 评论(4) 推荐(1) 编辑
摘要:1.概述 意图: 提供一个创建一系列相关或相互依赖的对象的接口,而无需指定其具体的类。 使用场合: 在以下场合可以使用抽象工厂: (1).一个系统要独立于其产品的创建、组合和表示时; (2).一个系统要有多个产品系列中的一个来配置时 (3).需要提供一个产品类库,而只想显示他们的接口,而影藏其... 阅读全文
posted @ 2008-06-10 21:58 peida 阅读(1462) 评论(0) 推荐(0) 编辑
摘要:1.概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 工厂方法模式(Factory Method),定义一个用... 阅读全文
posted @ 2008-06-08 10:56 peida 阅读(1666) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式(Simple Factory). 阅读全文
posted @ 2008-06-06 23:08 peida 阅读(2955) 评论(1) 推荐(0) 编辑
摘要:委托与事件。 阅读全文
posted @ 2008-06-03 20:20 peida 阅读(1725) 评论(0) 推荐(0) 编辑
摘要:集合与泛型。 阅读全文
posted @ 2008-06-02 22:14 peida 阅读(1512) 评论(0) 推荐(0) 编辑
摘要:抽象类与接口。 阅读全文
posted @ 2008-06-01 08:11 peida 阅读(1670) 评论(1) 推荐(0) 编辑