模式说明抽象工厂模式提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。抽象工厂允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际产出的具体产品是什么。这样一来,客户就可以从具体的产品中被解耦。和工厂方法主要区别于,抽象工厂内要像像定义中说的一样,‘创建一组相关的产品’...
分类:
其他好文 时间:
2014-08-23 11:09:20
阅读次数:
189
1. 面向对象编程的三个基本概念:数据抽象(类),继承(类继承)和动态绑定(运行时决定使用基类函数还是派生类函数)。面向对象编程的关键思想是多态性。
2. 派生类可以继承基类中定义的成员;派生类可以调用基类函数;派生类可以重定义基类的函数;派生类可以定义新的数据成员和函数成员。
3. 基类通过关键字virtual来指出希望派生类重新定义的函数(虚函数)。而基类希望派生类继承的函数不能使用virtual关键字。
4. 通过动态绑定可以使我们在继承层次中使用任意类型的对象,而不用关心对象的具体类型。使用这些类的...
分类:
编程语言 时间:
2014-08-22 16:25:21
阅读次数:
220
donet提供了四个判等函数,分别是referenceEqual,静态Equal,具体类型Equal,和==。首先来说,object.referenceEqual和静态Equalpublic static bool ReferenceEqual(obj left,obj right)值得注意的是ob...
分类:
其他好文 时间:
2014-08-22 12:40:26
阅读次数:
167
原文:Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让编译器自动推断变量的具体类型(IQueryable),并提供友好的...
分类:
数据库 时间:
2014-08-21 13:14:24
阅读次数:
504
原文:Linq to Sql:N层应用中的查询(上) : 返回自定义实体 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型(IQueryable),并提供友好的智能提...
分类:
数据库 时间:
2014-08-21 13:14:04
阅读次数:
415
抽象工厂
抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。
即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。“一对多”的关系。
优点:
1、抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。
2、当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。
3、增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。
缺点:
增...
分类:
其他好文 时间:
2014-08-19 02:09:23
阅读次数:
228
FACTORY模式允许我们只依赖抽象接口就能创建出具体对象的实例。所以,开发期间如果具体类是高度易变的,那么该模式就很适合。1.简单工厂简单工厂的一个特点就是工厂类必须知道所有具体厂品的实现,根据传进来的参数通过if/else判断创建哪个具体厂品。这样其他地方不需要创建具体厂品。做到了职责的分离。如...
分类:
其他好文 时间:
2014-08-12 17:02:54
阅读次数:
206
1、定义 抽象工厂模式为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 2、类图 由于类太多就不上源码了~ 最佳实践: 在一个应用中,需要在三个不同平台(Windows、Linux、Android)上运行,通过抽象工厂模式屏蔽掉操作系统对应的影响三个不同操作系统上的软件功能、应...
分类:
其他好文 时间:
2014-08-12 16:56:34
阅读次数:
224
抽象工厂模式AbstractFactory抽象工厂模式:提供一个创建产品的接口来负责创建相关或依赖的对象,而不具体明确指定具体类。抽象工厂对于系列产品的变化支持 “开放——封闭”原则(指的是要求系统对扩展开放,对修改封闭),扩展起来非常简便,但对于添加新产品这种情况就不支持”开放——封闭 “原则。
分类:
其他好文 时间:
2014-08-12 00:30:33
阅读次数:
237
工厂方法模式FactoryMethod工厂方法模式的实现把具体产品的创建推迟到子类中,从而解决了简单工厂模式难以扩展的问题。把简单工厂类分解为抽象基类和若干个具体类如下代码: //抽象的工厂方法“总部”类FactoryMethod public abstract class Factor...
分类:
其他好文 时间:
2014-08-11 20:48:12
阅读次数:
167