摘要:
外观(Facade)模式又称门面模式,感觉这是设计模式中一个比较容易理解的模式,GOF对其所起作用描述为:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。Facade的形象化描述可以借用GOF一书中的插图进行表述,如下: 《Java与
阅读全文
posted @ 2017-08-14 10:20
Judy518
阅读(120)
推荐(0)
摘要:
装饰(Decorator)模式是对象结构模式,GOF对它的作用描述为:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。现在直接给出GOF著作中的Decorator模式结构图: 实现案例是学习设计模式的好办法,GOF一书中给了一个例子,就是“图形用户界面”
阅读全文
posted @ 2017-08-13 23:06
Judy518
阅读(136)
推荐(0)
摘要:
重新看组合/合成(Composite)模式,发现它并不像自己想象的那么简单,单纯从整体和部分关系的角度去理解还是不够的,并且还有一些通俗的模式讲解类的书,由于其举的例子太过“通俗”,以致让人理解产生偏差,不过设计模式本身就是一种程序设计思想,不同的人当然会产生具有偏差性质的理解。 GOF对组合模式的
阅读全文
posted @ 2017-08-13 21:15
Judy518
阅读(132)
推荐(0)
摘要:
GOF对桥接模式(Bridge)的定义是:将抽象部分和它的实现部分分离,使它们可以独立地变化。这里需要记录一些概念,参考自《Java与模式》一书: 抽象化:存在于多个实体中的共同的概念性联系,例如:一组对象如果有相同的概念性联系,则可以用一个共同的类加以描述;如果一些类有相同的概念性联系,则可以用一
阅读全文
posted @ 2017-08-13 15:14
Judy518
阅读(155)
推荐(0)
摘要:
结构型模式主要讲述如何组合类和对象以获取更大功能的结构,同样,按照模式的主要用途,结构型模式也分为两个层次: 1、结构型类模式,采用继承机制来组合接口,java没有多继承功能,但是可以实现(implements)多个接口,实现了多个父接口的类便拥有了父接口的功能,GOF给出的结构型类模式只有一个,那
阅读全文
posted @ 2017-06-11 12:50
Judy518
阅读(259)
推荐(0)
摘要:
原型模式(prototype)为创建型对象模式,它是用原型实例来指定创建对象的类型的,并通过拷贝这些原型来创建新的对象。也就是说,这次我们创建新的对象和以前创建对象的方法有些不同,以前创建新的对象是用new方法作用于类上来实现的,现在我们不这样做了,给定一个类的实例,我们通过克隆这个类的实例来创建新
阅读全文
posted @ 2017-06-10 22:13
Judy518
阅读(143)
推荐(0)
摘要:
java语言本身具有对对象的复制功能,Java.lang.Object具有受保护的clone()方法, 使用这个方法的前提是要实现Cloneable接口,调用clone()方法返回的克隆对象是一种“浅克隆”,什么意思呢?就是这种克隆“不彻底”,也就是克隆对象和原对象还有千丝万缕的联系,先拿一个例子证
阅读全文
posted @ 2017-06-10 00:15
Judy518
阅读(171)
推荐(0)
摘要:
我们可以通过Java的RTTI机制可以获知某个对象的确切类型,但是这需要个先决条件:该类型必须在编译时必须已知,这样RTTI才能识别它,也就是说,在编译时,编译器必须要知道通过RTTI来处理的类。问题来了,如果我们不能获取的对象所属的实际类该怎么办?比如,我们从磁盘文件或网络中获取到一串字节,并被告
阅读全文
posted @ 2017-06-07 23:02
Judy518
阅读(151)
推荐(0)
摘要:
RTTI(Run Time Type Information)使得你可以在程序运行的时候获取和使用对象的类型信息。先来一个例子: 1 package re; 2 import java.util.*; 3 public class Reflect{ 4 public static void main
阅读全文
posted @ 2017-06-07 00:02
Judy518
阅读(347)
推荐(0)
摘要:
GOF对生成器模式的描述为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。感觉这是创建型模式中最难理解的一个,参考了《Java与模式》一书,在这本书中,作者侧重描述一个产品不同内部表象(也就是零件)的创建,他在“众神造人”一例中,将“人”划分为“灵魂”、“臂手”、“耳目”
阅读全文
posted @ 2017-06-04 23:57
Judy518
阅读(161)
推荐(0)