经典的《设计模式》一书归纳出23种设计模式,本文按《易学设计模式》一书归纳分类如下:1.创建型模式前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就...
分类:
其他好文 时间:
2014-07-28 23:47:54
阅读次数:
232
1.定义当需要控制一个类的实例数量且调用者可以从一个公共的访问点访问时。 2.适用场景1. 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。2. 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 3.评价优点:1. 对唯一实例的受控访问,...
分类:
其他好文 时间:
2014-07-25 02:17:04
阅读次数:
259
1.定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2.适用场景原型模式的主要思想是基于现有的对象克隆一个新的对象出来,一般是有对象的内部提供克隆的方法,通过该方法返回一个对象的副本,这种创建对象的方式,相比我们之前说的几类创建型模式还是有区别的,之前的讲述的工厂模式与抽象工....
分类:
其他好文 时间:
2014-07-25 02:16:54
阅读次数:
283
1.定义定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。 2.适用场景1.第一种情况是对于某个产品,调用者清楚地知道应该使用哪个具体工厂服务,实例化该具体工厂,生产出具体的产品来。Java Collection中的iterator()....
分类:
其他好文 时间:
2014-07-24 22:52:43
阅读次数:
158
1.定义 简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。 2.适用场景如果一个客户要一款宝马车,一般的做法是客户去创建一款宝马车,然后拿来用。后来出现工业革命。用户不用去创建宝马车。因为客户有一个工厂来帮他创建宝马.想要什么....
分类:
其他好文 时间:
2014-07-24 22:43:03
阅读次数:
246
1.定义将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。 2.适用场景1. 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2. 当构造过程必须允许被构造的对象有不同表示时。 3.评价1. 它使你可以改变一个产品的内部表.....
分类:
其他好文 时间:
2014-07-24 22:24:52
阅读次数:
208
1.定义为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 2.适用场景1.一个系统要独立于它的产品创建、组合和表示。2.一个系统要由多个产品系列中的一个来配置。3.当你要强调一系列相关的产品对象的设计以便进行联合使用。4.当你提供一个产品类库,而只想显示它们的接口而不是实现。....
分类:
其他好文 时间:
2014-07-24 21:54:12
阅读次数:
212
在一一分析每种设计模式之前,我首先把所有的设计模式做了一个总结,大致分成三部分:创建型模式、结构型模式和行为型模式。
一、创建型模式
1、抽象工厂模式
提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。
2、建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂...
分类:
其他好文 时间:
2014-07-24 10:39:44
阅读次数:
210
模式在某一情景下解决某个问题的固定解决方案。
所有的创建型模式都是用作解决对象的创建或实例化问题的解决方案。
1
简单工厂模式
创建对象的最简单方法是使用new来创建一个对象,如果只创建一种固定不变的对象,可以使用new来创建这个对象。
如果要根据不同场景创建不同类型的对象,就可能出现不同的方法,即可以采用不同的模式。
如ANDROID的媒体框架中为了...
分类:
移动开发 时间:
2014-07-22 17:47:21
阅读次数:
388
1 创建型模式
单独对对象的创建进行研究,高效的创建对象就是创建型模式讨论的问题。创建型设计模式有6种:
简单工厂模式(simple factory);
工厂方法模式(factory method);
抽象工厂模式(abstract factory);
创建者模式(Builder);
原型模式(Prototype);
...
分类:
其他好文 时间:
2014-07-22 00:06:33
阅读次数:
232