
JAVA设计模式
文章平均质量分 94
如果一件事物失去了价值,它就没有存在的必要,所以它存在必有价值。
pengjunlee
不学自知,不问自晓,古今行事,未之有也。
展开
-
JAVA设计模式--简单工厂模式
目录一、什么是简单工厂模式二、简单工厂模式的结构三、简单工厂模式的优缺点一、什么是简单工厂模式简单工厂模式属于类的创建型模式。提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。简单工厂模式的本质:选择实现。设计意图:通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、简单工厂模...原创 2016-05-18 10:39:23 · 45193 阅读 · 1 评论 -
JAVA设计模式--工厂方法模式
目录一、什么是工厂方法模式二、模式中包含的角色及其职责三、工厂方法模式和简单工厂模式比较一、什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责声明具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工...原创 2016-05-19 14:07:41 · 44452 阅读 · 0 评论 -
JAVA设计模式--抽象工厂模式
目录一、什么是抽象工厂模式二、模式中包含的角色及其职责三、抽象工厂模式的优缺点一、什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。此处引入了一个新的概念产品族,那什么是产品族呢?百度一下:产品族是以产品平台为基础,通过添加不同的个性模块...原创 2016-05-19 19:40:32 · 40539 阅读 · 1 评论 -
JAVA设计模式--单例模式
目录一、什么是单例模式二、单例模式的应用场景三、单例模式实现饿汉式懒汉式双重检查四、单例模式的特点一、什么是单例模式单例(Singleton)模式是一种对象创建型模式,保证一个类只有一个实例存在,同时该类提供能对该实例加以访问的全局访问方法。单例模式的本质:控制实例个数设计意图:使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空...原创 2016-05-23 11:21:09 · 40601 阅读 · 1 评论 -
JAVA设计模式--原型模式
目录一、什么是原型模式二、原型模式实现简单形式登记形式三、Java中的深拷贝与浅拷贝(或深度克隆与浅度克隆)四、原型模式应用场景五、原型模式的特点参考文章一、什么是原型模式原型(Prototype)模式是一种对象创建型模式,它通过原型实例指定创建对象的种类,并采用拷贝原型实例的方法来创建新的对象。所以,使用原型模式创建的实例,具有与原型实例一样的数据。...原创 2016-05-23 19:48:46 · 41451 阅读 · 1 评论 -
JAVA设计模式--建造者模式
目录前言一、什么是建造者模式二、建造者模式的结构三、建造者模式应用场景参考文章前言在听完厉风行老师《设计模式系列课程》中的建造者模式一节后顿时感觉有点头大,感觉它有点像工厂方法模式,查看了网上很多文章也是众说纷纭,看到了corn的这篇文章才有点拨开云雾见晴天的感觉。http://www.cnblogs.com/lwbqqyumidi/p/3742562.html...原创 2016-06-02 20:29:53 · 41755 阅读 · 0 评论 -
JAVA设计模式--装饰模式
目录一、什么是装饰模式二、装饰模式实现三、装饰模式的特点参考文章一、什么是装饰模式装饰( Decorator )模式又叫做包装( Wrapper )模式,它通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。二、装饰模式实现装饰模式通过一种对客户端透明的方式动态地为一个对象附加上新的功能,它可以使客户端在不需要创建更多子类的情况下,自由地对创...原创 2016-06-13 19:04:26 · 41315 阅读 · 3 评论 -
JAVA设计模式--策略模式
目录一、什么是策略模式二、策略模式的结构三、策略模式应用场景四、策略模式的特点参考文章一、什么是策略模式策略(Strategy)模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algorithms,encapsu...原创 2016-06-15 18:13:23 · 50658 阅读 · 1 评论 -
JAVA设计模式--观察者模式
目录一、什么是观察者模式二、观察者模式的典型应用三、观察者模式的结构四、Java对观察者模式的支持五、观察者模式的优点一、什么是观察者模式观察者(Observer)模式是行为模式之一,它的作用是当一个被观察对象的状态发生变化时,能够自动通知相关的观察者对象,自动更新观察者对象中被观察对象的状态。它提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状...原创 2016-06-18 20:43:31 · 41704 阅读 · 0 评论 -
JAVA设计模式--代理模式(静态)
目录一、什么是代理模式二、静态代理模式的结构三、静态代理模式应用举例应用一应用二四、代理模式的应用场景五、静态代理模式的特点一、什么是代理模式代理(Proxy)模式为其他对象提供一种代理以控制对这个对象的访问。(原文:The Proxy Pattern Provide a surrogate or placeholder for another object t...原创 2016-07-06 18:51:17 · 51558 阅读 · 0 评论 -
JAVA设计模式--代理模式(动态)(一)
目录一、什么是动态代理二、Java对动态代理的支持三、使用CGLIB实现动态代理四、动态代理模式的特点参考文章一、什么是动态代理在静态代理(Static Proxy)模式中,代理类都是真实存在的,由程序员提前创建好的java类,是静态的,每一个代理类在编译之后都会生成一个.class字节码文件,静态代理类所实现的接口和所代理的方法早在编译期都已被固定了。动态代理(...原创 2016-07-13 21:40:48 · 47833 阅读 · 0 评论 -
JAVA设计模式--代理模式(动态)(二)
目录一、前章回顾二、深入剖析JAVA动态代理类参考文章一、前章回顾在前一章“《学习笔记》之JAVA设计模式--代理模式(动态)(一)”中我们分别使用JDK自带的动态代理和CGLIB动态代理为数据库增加了日志记录功能。然而,生成的动态代理类到底是个什么样子呢?本章我们就一起来揭开它的庐山真面目。二、深入剖析JAVA动态代理类我们先来看看生成的动态代理类是什么类型,对前...原创 2016-07-13 22:24:48 · 48479 阅读 · 2 评论 -
JAVA设计模式--适配器模式
目录1、什么是适配器模式2、适配器模式的适用场景3、适配器模式的结构4、适配器模式应用举例5、适配器模式的选择参考文章1、什么是适配器模式适配器(Adapter)模式又叫做包装( Wrapper )模式,是由GOF提出的23种设计模式中的一种结构型设计模式,Adapter模式的设计意图:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作...原创 2016-08-28 20:42:19 · 47973 阅读 · 1 评论 -
JAVA设计模式--享元模式
目录一、什么是享元模式二、享元模式在Java中的典型应用三、享元模式的结构单纯享元模式复合享元模式四、享元模式应用举例五、享元模式的适用性六、享元模式的特点七、总结一、什么是享元模式享元Flyweight模式是构造型模式之一,它通过共享数据使得相同对象在内存中仅创建一个实例,以降低系统创建对象实例的性能消耗。以博客里写文章为例来说吧,把文章和文章中...原创 2016-10-09 22:07:09 · 44740 阅读 · 5 评论 -
JAVA设计模式--访问者模式
目录一、什么是访问者模式二、访问者模式的结构三、访问者模式的适用性四、 场景举例五、访问者模式的特点一、什么是访问者模式访问者(Visitor)模式是一种对象的行为模式。在访问者模式里,每个访问者表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。在面向对象的系统开发和设计过程中,经常遇到的一种情况就是需求变更,...原创 2017-01-14 21:43:57 · 41085 阅读 · 0 评论 -
JAVA设计模式--桥接模式
目录一、什么是桥接模式二、桥接模式的应用场景三、桥接模式的结构四、使用桥接模式重写消息示例五、桥接模式的适用性六、桥接模式的特点七、总结一、什么是桥接模式桥接(Bridge)模式是构造型的设计模式之一。桥接模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(impleme...原创 2017-01-15 14:31:27 · 45658 阅读 · 0 评论 -
JAVA设计模式--职责链模式
目录一、什么是职责链模式二、职责链模式的结构三、职责链模式应用举例四、职责链模式的适用性五、职责链模式的优缺点六、总结一、什么是职责链模式职责链(Chain of Responsibility)模式是一种对象的行为模式。在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端...原创 2017-02-08 00:48:03 · 41314 阅读 · 4 评论 -
JAVA设计模式--备忘录模式
目录一、什么是备忘录模式二、备忘录模式的结构三、备忘录模式的适用性四、备忘录模式的实现五、备忘录模式的优缺点六、总结一、什么是备忘录模式备忘录(Memento)模式又叫作快照(Snapshot)模式或Token模式,是一种对象的行为模式。在备忘录模式里,一个备忘录是一个对象,它存储另一个对象(备忘录的原发器)在某个瞬间的内部状态。备忘的目的就是为了以后在需要的时候,...原创 2017-02-10 21:36:36 · 67411 阅读 · 1 评论 -
JAVA设计模式--组合模式
目录一、什么是组合模式二、组合模式的适用性三、组合模式的结构四、组合模式的安全性和透明性五、组合模式的优缺点六、总结一、什么是组合模式组合(Composite)模式是一种对象的行为模式。将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式的本质:统一叶子对象和组合对象。组合模式的目的:让客户端不再...原创 2017-02-10 22:14:23 · 43804 阅读 · 3 评论 -
JAVA设计模式--状态模式
目录一、什么是状态模式二、状态模式的结构三、状态模式应用举例四、理解状态模式五、状态模式的适用性六、状态模式的优缺点一、什么是状态模式状态(State))模式,又称状态对象(Pattern of Objects for States)模式,是一种对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的...原创 2017-02-11 11:18:13 · 48648 阅读 · 0 评论 -
JAVA设计模式--模板方法模式
目录一、什么是模板方法模式二、模板方法模式的结构三、模板方法模式相关知识点四、模板方法模式的适用性五、模板方法模式的优缺点六、总结一、什么是模板方法模式模板方法(TemplateMethod)模式是一种对象的行为模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模版方法模式的本质:...原创 2017-02-11 12:26:47 · 42112 阅读 · 0 评论 -
JAVA设计模式--迭代器模式
目录一、什么是迭代器模式二、迭代器模式的结构三、翻页迭代四、迭代器模式的适用性五、迭代器模式的优点六、总结一、什么是迭代器模式迭代器(Iterator)模式又叫作游标(Cursor)模式,是一种对象的行为模式。提供一种方法顺序访问一个聚合(指一组对象的组合结构,如:Java中的集合、数组等)对象中各个元素,而又不需暴露该对象的内部表示。迭代器模式的本质:控制访问...原创 2017-02-11 13:01:59 · 48100 阅读 · 0 评论 -
JAVA设计模式--命令模式
目录一、什么是命令式二、命令模式的适用性三、命令模式的结构四、命令模式的优点五、认识命令模式六、总结一、什么是命令式命令(Command)模式又叫作动作(Action)模式或事务(Transaction)模式,是一种对象的行为模式。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。命令模式的本质:封...原创 2017-02-11 14:06:52 · 58078 阅读 · 4 评论 -
JAVA设计模式--中介者模式
目录一、什么是中介者式二、中介者模式的结构三、中介者模式应用举例四、广义中介者五、中介者模式的优缺点六、中介者模式的适用性七、总结一、什么是中介者式中介者(Mediator)模式(亦被称为调停者模式)是一种对象的行为模式。用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式的...原创 2017-02-11 16:15:50 · 42913 阅读 · 0 评论 -
JAVA设计模式--外观模式
目录一、什么是外观式二、外观模式的结构三、外观模式的适用性四、外观模式和中介者模式五、外观模式的优缺点六、总结一、什么是外观式外观(Facade)模式是一种对象的结构型模式。为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式的本质:封装交互,简化调用设计意图:隐藏系统的复杂性,并向客户端...原创 2017-02-12 23:37:41 · 40945 阅读 · 0 评论 -
JAVA设计模式--解释器模式
目录一、什么是解释器模式二、解释器模式的结构三、解释器模式应用举例四、解释器模式的适用性五、解释器模式的优缺点六、相关模式七、总结一、什么是解释器模式解释器(Interpreter)模式是一种对象的行为模式。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。所谓“语言”,指的是使用规定格式和文法的一类字符组合。...原创 2017-02-25 14:51:01 · 57512 阅读 · 9 评论