结构型模式之适配器
摘要:结构型模式主要讲述如何组合类和对象以获取更大功能的结构,同样,按照模式的主要用途,结构型模式也分为两个层次: 1、结构型类模式,采用继承机制来组合接口,java没有多继承功能,但是可以实现(implements)多个接口,实现了多个父接口的类便拥有了父接口的功能,GOF给出的结构型类模式只有一个,那
阅读全文
posted @
2017-06-11 12:50
Judy518
阅读(248)
推荐(0) 编辑
创建型模式之原型模式
摘要:原型模式(prototype)为创建型对象模式,它是用原型实例来指定创建对象的类型的,并通过拷贝这些原型来创建新的对象。也就是说,这次我们创建新的对象和以前创建对象的方法有些不同,以前创建新的对象是用new方法作用于类上来实现的,现在我们不这样做了,给定一个类的实例,我们通过克隆这个类的实例来创建新
阅读全文
posted @
2017-06-10 22:13
Judy518
阅读(139)
推荐(0) 编辑
java浅拷贝和深拷贝
摘要:java语言本身具有对对象的复制功能,Java.lang.Object具有受保护的clone()方法, 使用这个方法的前提是要实现Cloneable接口,调用clone()方法返回的克隆对象是一种“浅克隆”,什么意思呢?就是这种克隆“不彻底”,也就是克隆对象和原对象还有千丝万缕的联系,先拿一个例子证
阅读全文
posted @
2017-06-10 00:15
Judy518
阅读(166)
推荐(0) 编辑
Java反射机制
摘要:我们可以通过Java的RTTI机制可以获知某个对象的确切类型,但是这需要个先决条件:该类型必须在编译时必须已知,这样RTTI才能识别它,也就是说,在编译时,编译器必须要知道通过RTTI来处理的类。问题来了,如果我们不能获取的对象所属的实际类该怎么办?比如,我们从磁盘文件或网络中获取到一串字节,并被告
阅读全文
posted @
2017-06-07 23:02
Judy518
阅读(146)
推荐(0) 编辑
Java类型信息之RTTI
摘要: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
阅读(338)
推荐(0) 编辑
创建型模式之生成器
摘要:GOF对生成器模式的描述为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。感觉这是创建型模式中最难理解的一个,参考了《Java与模式》一书,在这本书中,作者侧重描述一个产品不同内部表象(也就是零件)的创建,他在“众神造人”一例中,将“人”划分为“灵魂”、“臂手”、“耳目”
阅读全文
posted @
2017-06-04 23:57
Judy518
阅读(148)
推荐(0) 编辑
创建型模式之抽象工厂
摘要:工厂方法模式对创建同一系列产品对象的应用具有很好的支持作用,比如创建水果系列的产品,我们任意添加我们想要的产品(也即系统新功能)而不用改变原来产品及其创建形式(也即不用改变原来系统功能),但是当我们需要创建具有相关或相互依赖的对象时,工厂方法就做不到了,它不能为用户(也即使用工厂方法的人)提供统一的
阅读全文
posted @
2017-06-03 23:37
Judy518
阅读(156)
推荐(0) 编辑
创建型模式之工厂方法
摘要:工厂方法属创建型类模式,也称虚构造器/多态性工厂模式,工厂方法使得一个类的实例化延迟到其子类。在简单工厂模式中,产品的创建由静态工厂方法做出判断并返回相应的的对象,缺点就是当我们要添加新的类并希望创建新的对象的时候,我们需要修改静态工厂方法,有没有那种只添加新功能而不修改系统有原有功能的方案呢?当然
阅读全文
posted @
2017-06-03 00:49
Judy518
阅读(163)
推荐(0) 编辑
创建型模式之简单工厂
摘要:GOF的《设计模式-可复用面向对象软件的基础》一书中对设计模式做了两个标准的划分: 第一条是目的准则:模式用来完成什么工作,根据目的可划分为:创建型、结构型、行为型;创建型涉及对象的创建,结构型处理类或对象的组合,行为型对类或对象如何交互和怎样分配职责进行描述。 第二条是范围准则:指定模式主要用于类
阅读全文
posted @
2017-06-01 23:30
Judy518
阅读(143)
推荐(0) 编辑