设计模式学习总结-创建型模式

五大创建型设计模式的注意事项:
1.单例(Singleton)
构造函数private或protected,防止外部实例化;
双层锁定实例化,防止多线程的多个实例化;
类要sealed,防止被继承后派生添加实例;
饿汉、懒汉两种类型,各有千秋;

2.原型(Prototype)
Clone    浅拷贝,复制值类型,不复制引用类型;
Copy    深拷贝,值类型与引用类型都做复制;
在.NET中实现ICloneable接口,用this.MemberwiseClone()实现浅拷贝;

3.建造者(Builder)
各细节流程不同,但装配方式一致时,可以使用建造者模式以规范流程;

4.工厂方法(FactoryMethod)
工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。
工厂方法使用添加新功能时,只要修改客户端代码。

5.抽象工厂(AbstractFactory)
用于创建一系列相关或相关依赖对象的接口,无需指定它们具体的类,如:支持多种数据库的数据库访问层;
与简单工厂及反射配合,可以使抽象工厂的程序更加简洁完美;

另外提供我在学习创建型设计模式时写的相关程序代码下载:/Files/flashlm/DesignPatternsDemo.zip

创建型模式细节及注意事项,请参考TerryLee的“创建型模式篇”:

1 单件模式(Single Pattern

2 抽象工厂模式(Abstract Factory

3 建造者模式(Builder Pattern

4 工厂方法(Factory Method

5 原型模式(Protype Pattern

6 创建型模式专题总结

 

posted @ 2009-02-10 23:45  canbeing  阅读(1721)  评论(0编辑  收藏  举报