存档

‘设计模式’ 分类的存档

设计模式学习笔记

2010年6月19日 没有评论

前言:这段时间在学习设计模式,这篇文章记录学习心得,希望能将设计模式融会贯通,欢迎朋友们和我交流,这篇文章会不定期的更新。(现在的例子表达太简单,以后会逐渐加入UML图,敬请期待 :smile:

1、抽象工厂(Abstract Factory):

生成一组相互关联的对象

比如:

生产出MACMotherBoard,MacKeyboard,MacScreen

生产出WinMotherBoard,WinKeyboard,WinScreen

2、工厂方法(Factory Method):

顾名思义,工厂方法就是创建对象的方法可能存在变化,父类不知道创建什么样的对象,把创建对象的方法放在子类中具体实现。

工厂方法和模板方法(Template Method)的区别:

在于模板方法“不同的地方不是一个创建对象,而是一些操作步骤”

工厂方法和抽象方法的区别:

工厂方法产生的是同一基类的子类的实例,而抽象工厂产生的是同一功能模块下所有相互关联的类的实例。两者的前提条件是一样的:即都非客户端行为,客户端只负责索取实例,而生成什么类的实例由“工厂”决定。

3、builder模式(Builder):

当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。

比如:

一个编辑器中的文字,图片,段落数目和顺序是确定的,但是希望有不同的展现方法,比如文本展示,富文本展示,带编辑框的展示……(展示的方式是多样的),这样就可以用到build模式,增加展现方式不会改变

无觅相关文章插件

Popularity: 3%

分类: 设计模式 标签: