
设计模式
文章平均质量分 92
orclight
攻城狮
展开
-
设计模式系列之二_责任链模式(Chain of Responsibility)
1.职责链模式定义 为了避免请求的发送者和接收者之间的耦合关系,使多个接受对象都有机会处理请求。 将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 2.Chain of Responsibility模式主要涉及两个角色 1)抽象处理者角色(Handler):它定义了一个处理请求的接口。当然对于链子的不同实现, 也可以在这个角色中实现后继链。 2)原创 2013-03-12 10:05:10 · 1231 阅读 · 0 评论 -
设计模式系列之一__单例模式(2)__各种实现的优缺点
1、时间和空间效率 比较上面两种写法:懒汉式是典型的时间换空间,也就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间。当然,如果一直没有人使用的话,那就不会创建实例,则节约内存空间。 饿汉式是典型的空间换时间,当类装载的时候就会创建类实例,不管你用不用,先创建出来,然后每次调用的时候,就不需要再判断了,节省了运行时间。 2、线程安全 (1)从线程安全性上讲,不加同步的转载 2013-01-29 09:24:08 · 699 阅读 · 0 评论 -
设计模式系列之三_代理模式(Proxy)
1.什么事代理模式(Proxy Pattern) 23种java常用设计模式之一。代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象 之间起到中介的作用。 类图如下: 2.代理模式中涉及到的三个角色 (1)抽象角色:声明真实对象和代理对象的共同接口。 (2)真实角原创 2013-03-12 11:08:31 · 1085 阅读 · 0 评论 -
设计模式系列之一__单例模式(1)__基本定义以及实现
单例模式定义 单例模式(singleton)顾名思义,就是一个类只有一个实例。 作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的实现原理 1.一个类能够被创建多个实例,问题的根源在于类的构造方法是公开的,在类的外部可以通过构造方法创建多个实例。 2.要想控制一个类只被创建一原创 2013-01-29 01:58:58 · 806 阅读 · 0 评论 -
设计模式系列之四_策略模式 和 模版方法模式(Template method)
1.策略模式 1.1 策略模式 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。 策略模式让算法独立于使用它的客户而独立变化。 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有 共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到 客户端的情况下发生变化。 1.2 策略模式的组成 (原创 2013-03-12 16:28:14 · 4533 阅读 · 0 评论