单例模式:
保证一个类仅有一个实例,并提供一个访问它的全局访问点。、
结构图:
注意多线程的单例。
享元模式:
享元的英文是Flyweight,它是一个来自于体育方面的专业用语,在拳击、摔跤和举重比赛中特指最轻量的级别。把这个单词移植到软件工程里面,也是用来表示特别小的对象,即细粒度对象。Flyweight享元,可以理解为共享元对象,也就是共享细粒度对象。享元模式就是通过使用共享的方式,达到高效地支持大量的细粒度对象。它的目的就是节省占用的空间资源,从而实现系统性能得到改善。
享元模式主要作用是实现对象的共享,即使用共享池,从而减少内存分配的开销。享元模式通常与工厂模式一起使用,它包含了多个共享的组合对象,因此:享元模式=单例模式+工厂模式+合成模式,其结构如图12-25所示。
其中:FlyweightFactoiy享元工厂负责创建和管理享元对象,它必须保证享元对象可以被系统适当共享。当一个客户端对象请求一个享元对象的时候,享元工厂需要检查系统中是否已经有一个符合要求的享元对象,如果已经有了,享元工厂就应当提供这个已有的享元对象;如果系统中没有一个适当的享元对象的话,享元工厂就应当创建一个新的合适的享元对象。Flyweight是所有的具体享元类的超类,为这些类规定出需要实现的公共接口或抽象类。MyFlyweight1和MyFlyweight2则是实现抽象享元所规定的接口。
分享到:
相关推荐
设计模式之单例模式 设计模式之单例模式 设计模式之单例模式
设计模式之单例模式 懒汉式,饿汉式,同步枷锁
C++单例设计模式,单例模式 C++单例设计模式,单例模式
细心整合和单例模式和工厂模式的几种模型,懒汉式,饿汉式,如何并发操作模式,等都有详细讲解
是http://blog.csdn.net/lxq_xsyu/article/category/1544127博客中java设计模式的源代码。下载前请先看《设计模式——单例模式》一文。
单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 比如在某个服务器程序中,该服务器的配置信息存放...
单例模式和工厂模式结合应用,实现了产品的生产,适合用做课程设计,包含详细文档和代码。Java语言。喜欢的可以下载来看看那
李建忠老师的设计模式-单例模式讲解,示例以C++编程语言呈现。
设计模式C++学习之单例模式(Singleton)
java设计模式之单例模式
目录 单例模式的概念 单例模式的要点 单例模式类图 单例模式归类 单例模式的应用场景 单例模式解决的问题 单例模式的实现方式 单例模式实现方式对比 单例模式的概念 单例模式,顾名思义就是只有一个实例,并且由它...
入名所示,该文件为最详细的Java单例模式讲解并附有讲解代码。主要讲了单例模式的几种方法,懒汉模式、饿汉模式、静态内部类模式。着重讲解了懒汉模式下怎么实现线程安全。饿汉模式和静态内部类模式如何设置能够避免...
单例模式主要有懒汉式和饿汉式两种实现,饿汉式不会有线程安全的问题,但是提前构造对象占用了一定的资源,如果对内存要求较低的场景可以使用饿汉式实现;懒汉式应使用DCL机制来避免多线程竞争资源的问题,并且懒汉...
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。
设计模式-单例模式 学习时候联系的代码,可以进行参考
23种设计模式之工厂方法模式对工厂方法模式进行了简单的介绍,并附带了例子程序,和大家分享
单例设计模式的优缺点 设计思想 举例表示
设计模式之装饰模式Java实现和UML类设计图
设计模式 中的 单例模式和观察者模式;以简单实例说明单例模式和观察者模式