摘要: Flyweight模式是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。FlyweightFactory类一般使用Singleton模式实现。Flyweight模式是一个提高程序效率和性能的模式,会大大加快程序的运行速度。Flyweight模式的有效性很大程度上取决于如何使用它以及在何处使用它。当以下情况成立时使用Flyweight模式:1 一个应用程序使用了大量的对象。2 完全由于使用大量的对象,造成很大的存储开销。3 对象的大多数状态都可以变为外部状态。4 如果删除对象以外的状态那么可 阅读全文
posted @ 2013-03-18 15:14 何长春 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 桥模式:将抽象部分与它的实现部分相分离,使他们可以独立的变化。package com.qinsoft.design;abstract class Television{ //电视厂商 protected TelevisionMaker televisionMaker; //收看电视 abstract public void teleview(TelevisionMaker televisionMaker);}abstract class TelevisionMaker{ abstract public void produce();}class Inch2... 阅读全文
posted @ 2013-03-18 15:01 何长春 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 装饰模式:动态地给一个对象增加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更加灵活。装饰模式可以在不创造更多的子类的模式下,将对象的功能加以扩展。装饰模式与类继承的区别:1) 装饰模式是一种动态行为,对已经存在类进行随意组合,而类的继承是一种静态的行为,一个类定义成什么样的,该类的对象便具有什么样的功能,无法动态的改变。2) 装饰模式扩展的是对象的功能,不需要增加类的数量,而类继承扩展是类的功能,在继承的关系中,如果我们想增加一个对象的功能,我们只能通过继承关系,在子类中增加两个方法。3) 装饰模式是在不改变原类文件和使用继承的情况下,动态的扩展一个对象的功能,它是通过 阅读全文
posted @ 2013-03-18 14:38 何长春 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。• 你想使用一个已经存在的类,而它的接口不符合你的需求。• 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。•(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。类适配器:package com.qinsoft.design;/** * 适配器模式:结构型 */public class Adapter{ public s... 阅读全文
posted @ 2013-03-18 14:15 何长春 阅读(157) 评论(0) 推荐(0) 编辑