设计模式
一叶丿清风
纸上得来终觉浅,绝知此事要躬行...
展开
-
单例模式与多线程(一)
在标准的23个设计模式中,单例设计模式在应用中是比较常见的。但在常规的该模式教学资料介绍中,多数没有结合多线程技术作为参考,这就造成在使用多线程技术的单例模式时会出现一些意想不到的情况,这样的代码如果在生产环境中出现异常,有可能造成灾难性的后果。 在学习多线程技术的单例模式时,只需要考虑一件事,那就是:如何使单例模式遇到多线程是安全的、正确的。下面就不同方式实现多线程中的单例进行介绍: 一、“饿原创 2017-08-07 20:30:49 · 318 阅读 · 0 评论 -
单例模式与多线程(二)
在单例模式与多线程(一)中,介绍了四种在多线程环境下实现的单例模式:饿汉模式、懒汉模式、静态内部类实现方式和static代码块实现方式。下面介绍使用enum枚举数据类型实现单例和使用序列化与反序列化实现单例。 下面先介绍使用enum枚举数据类型实现单例: 枚举enum和静态代码块的特性相似,在使用枚举类时,构造方法会被自动调用,因此可以应用这个特性实现单例设计模式。 具体示例如下:packag原创 2017-08-08 15:27:30 · 169 阅读 · 0 评论 -
单例模式
在讲单例模式之前首先要知道什么是设计模式,那么什么是设计模式呢? 百度百科是这样解释的:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。简单地说,设计模式是可以重复利用的解决方案。 设计模式的提出是在1995 人,是由4 为作者提出的,称为GoF,也就是“四人组”。 设计模式从结构上分为三类:创建型结构性行为型 其中最简单的设原创 2017-08-06 14:39:13 · 258 阅读 · 0 评论 -
设计模式之--单例模式(Singleton)的常见应用场景
单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。这里又不具体讲如何实现单例模式和介绍其原理(因为这方便的已经有太多的好文章介绍了),如果对单例模式不了解的可以先看下:http://blog.csdn.net/qq转载 2017-08-06 14:53:17 · 286 阅读 · 0 评论 -
设计模式--装饰者模式
装饰者模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 现给出以下需求:某个类A其中的方法m1里面的功能不够用,需要升级,也就是扩展; 怎样在不改变A类功能的前提下实现功能的扩展? 1.通过继承实现 重新定义一个类B,让类B继承类A,然后重写A中的方法,在保证A类功能的前提下,增加扩展功能 注意:该方法虽然能实原创 2017-09-20 22:17:51 · 257 阅读 · 0 评论