设计模式
文章平均质量分 92
iteye_6926
这个作者很懒,什么都没留下…
展开
-
单例模式的两种方式
首先,单例模式是指在程序运行的过程中,保证该类的实例只有一个可以被外界访问(可用于读取配置文件,以保证没有对外部资源的并发操作)。单例模式分为饱汉模式和饥汉模式。饱汉模式,也是我们说熟知的单例模式,为类在初始化的时候就进行了类的实例化,getInstance方法只需要自动获取就可以了;饥汉模式为类在初始化时并为进行类的实例化,而是在getInstance方法中,先对对象进行判断,如果为nu...原创 2013-08-28 21:36:00 · 144 阅读 · 0 评论 -
抽象工厂模式
Abstract Factory Pattern 抽象工厂模式一个工厂类接口 定义创建方法一个抽象工厂类实现工厂类 定义公共方法多个具体工厂类继承抽象工厂类 实现具体创建的方法 抽象工厂模式的优点封装性,每个产品的实现类不是高层模块要关系的,要关心的是什么?是接口,是抽象,它不关心对象是如何创建出来,这由谁负责呢?工厂类,只要知道工厂类是谁,我就能创建出一个需要的对...原创 2015-10-12 22:06:18 · 76 阅读 · 0 评论 -
多例模式
多例模式个人理解:该类可以有多个实例,但是每个实例有不同的属性。getInstance方法获取到的实例对象中会保证属性值相同的实例只有一个。[code="java"]import java.util.ArrayList;import java.util.Random;/** * @author cbf4Life cbf4life@126.com I'm glad...原创 2015-10-18 11:09:13 · 91 阅读 · 0 评论 -
单例模式-双重检查锁定与延迟初始化
在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全的延迟初始化对象的示例代码:public class UnsafeLazyInitialization {private static Instance instan...原创 2015-10-18 17:01:40 · 138 阅读 · 0 评论 -
观察者模式小结(无代码)
[size=x-small]这两天学习了观察者模式,总结下。其实观察者模式也可以称作为发布、订阅模式。一般来说,观察者设计模式由目标对象和观察者构成,当目标对象的某个属性或者某个状态发生变化时,对他的观察者进行通知,从而是观察者进行一些相关操作。实现起来也有多种方式,可以自己去实现,也可以调用jdk自带的半成品(自定义观察者实现java.util.Observer接口,目标对象...2015-11-18 22:03:06 · 72 阅读 · 0 评论 -
反应器(Reactor)模式
[b][size=small]概述[/size][/b]Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。同步和异步的区别:有无通知(是否轮询)阻塞与非阻塞的区别:操作结果是否等待(是否马上有返回值),只是设计方式的...原创 2016-02-22 22:24:40 · 152 阅读 · 0 评论 -
Java的接口和抽象类区别
[size=small][b]1.语法层面上的区别[/b] 1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法; 2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的; 3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法; 4)一个类只能...原创 2016-07-23 15:10:18 · 88 阅读 · 0 评论