a) 装饰模式定义:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
b) 代码:
i. Component类:
Abstract class Component{
public abstract void Operation();
}
ii. Class ConcreteComponent类:
class ConcreteComponent:...
分类:
其他好文 时间:
2015-04-23 19:56:28
阅读次数:
147
职责:
动态的为一个对象增加新的功能。
装饰模式是一种用于代替继承的技术,无须通过继承增加之类就能扩展对象的新功能。
使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。
实现细节:
Componment抽象构件角色
真实对象和装饰对象有相同的接口。这样,客户端对象能够以真实对象相同的方式同装饰对象交互。
ConcreteComponment...
分类:
编程语言 时间:
2015-04-23 11:04:14
阅读次数:
145
先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。”
/**
* 抽象组件
*/
public interface Component {
void operation();
}
/**
* 叶子组件
*/
interface Leaf extends Component{
}
/**
* 容器...
分类:
编程语言 时间:
2015-04-22 18:09:40
阅读次数:
140
//---------------------------15/04/21----------------------------
//Proxy 代理模式-----对象结构型模式
/*
1:意图:
为其他对象提供一种代理以控制对这个对象的访问。
2:别名:
Surrogate
...
分类:
其他好文 时间:
2015-04-21 20:49:51
阅读次数:
158
//---------------------------15/04/20----------------------------
//Flyweight 享元模式------对象结构型模式
/*
1:意图:
运用共享技术有效地支持大量细粒度的对象。
2:动机:
3:适用性:
...
分类:
其他好文 时间:
2015-04-21 09:36:11
阅读次数:
168
JAVA设计模式设计模式分类JAVA设计模式可根据创建型模式、结构型模式、行为型模式分为三大类:
创建型模式
单例模式、工厂模式、抽象工厂模式、
建造者模式、原型模式结构型模式
适配器模式、桥接模式、装饰模式、
组合模式、外观模式、享元模式、代理模式行为型模式
模版方式模式、命令模式、迭代器模式、观察者模式、
中介者模式、备忘录模式、解释器模式、状态模式、...
分类:
编程语言 时间:
2015-04-21 01:50:13
阅读次数:
202
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2015-04-20 22:30:15
阅读次数:
162
最近看一本设计模式,自己抽空实现了一下,分享一下,最忌比较忙,就不细说了,先把代码放在这里,之后补上注释。书上把设计模式分为创建型,结构型和行为型,本次先来创建型。(一),工厂模式AbsractFactory头文件#ifndef_ABS_FACTORY_H_#define_ABS_FACTORY_H...
分类:
其他好文 时间:
2015-04-18 13:03:09
阅读次数:
236
//---------------------------15/04/17----------------------------
//Decorator 装饰模式----对象结构型模式
/*
1:意图:
动态地给一个对象添加额外的职业,就增加功能来说,Decorator模式相比生成子类更为灵活。
2:别名:...
分类:
其他好文 时间:
2015-04-17 15:47:31
阅读次数:
186
1.享元模式(Flyweight)定义:享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。 1.1 工厂//工厂:内置一个池,如果存在了则取出,否则则创建加入池中public class FactoryPool { private Hash...
分类:
编程语言 时间:
2015-04-17 15:20:50
阅读次数:
168