
【代码要漂亮】设计模式
文章平均质量分 96
1. 设计模式的概述和应用
2. 以tank war 为例总结应用
3. 分析框架源码中的应用
ImportNewXXT0101
天道不一定酬所有勤,但天道只酬勤
展开
-
JAVA设计模式-04-单例模式
一、什么是单例模式单例(Singleton)模式是一种对象创建型模式,保证一个类只有一个实例存在,同时该类提供能对该实例加以访问的全局访问方法。单例模式的本质:控制实例个数设计意图:使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。二、单例模式的应用场景如果碰到以下情况,可以考虑使用单例模转载 2018-01-11 09:36:21 · 154 阅读 · 0 评论 -
JAVA设计模式-15-访问者模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54429325一、什么是访问者模式访问者(Visitor)模式是一种对象的行为模式。在访问者模式里,每个访问者表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。在面向对象的系统开发和设计过程中,经常遇到的一种情况就是需求变更,针对已经开发转载 2018-01-19 13:58:46 · 171 阅读 · 0 评论 -
JAVA设计模式-16-桥接模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54561833一、什么是桥接模式桥接(Bridge)模式是构造型的设计模式之一。桥接模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以转载 2018-01-19 14:01:05 · 228 阅读 · 0 评论 -
JAVA设计模式-17-职责链模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54919892一、什么是职责链模式职责链(Chain of Responsibility)模式是一种对象的行为模式。在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理转载 2018-01-19 14:02:39 · 170 阅读 · 0 评论 -
JAVA设计模式-18-备忘录模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54974260一、什么是备忘录模式备忘录(Memento)模式又叫作快照(Snapshot)模式或Token模式,是一种对象的行为模式。在备忘录模式里,一个备忘录是一个对象,它存储另一个对象(备忘录的原发器)在某个瞬间的内部状态。备忘的目的就是为了以后在需要的时候,可以将原发器对象的状态恢复(u转载 2018-01-19 14:05:11 · 198 阅读 · 0 评论 -
JAVA设计模式-19-组合模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54974452一、什么是组合模式组合(Composite)模式是一种对象的行为模式。将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式的本质:统一叶子对象和组合对象。组合模式的目的:让客户端不再区分操作的是组合对象还是叶子对象,而是转载 2018-01-19 14:06:16 · 179 阅读 · 0 评论 -
JAVA设计模式-01-简单工厂模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51441940一、什么是简单工厂模式简单工厂模式属于类的创建型模式。提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。简单工厂模式的本质:选择实现设计意图:通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、简单转载 2018-01-10 10:40:44 · 173 阅读 · 0 评论 -
JAVA设计模式-20-状态模式
参考: http://blog.youkuaiyun.com/pengjunlee/article/details/54981440一、什么是状态模式状态(State))模式,又称状态对象(Pattern of Objects for States)模式,是一种对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的本质:根据状态来分离和选择行为二转载 2018-01-19 14:07:43 · 178 阅读 · 0 评论 -
JAVA设计模式-21-模板方法模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54982088一、什么是模板方法模式模板方法(TemplateMethod)模式是一种对象的行为模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模版方法模式的本质:固定算法骨架二、转载 2018-01-30 16:05:01 · 181 阅读 · 0 评论 -
JAVA设计模式-22-迭代器模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54982329一、什么是迭代器模式迭代器(Iterator)模式又叫作游标(Cursor)模式,是一种对象的行为模式。提供一种方法顺序访问一个聚合(指一组对象的组合结构,如:Java中的集合、数组等)对象中各个元素,而又不需暴露该对象的内部表示。迭代器模式的本质:控制访问转载 2018-01-30 16:06:27 · 189 阅读 · 0 评论 -
JAVA设计模式-23-命令模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54982684一、什么是命令式命令(Command)模式又叫作动作(Action)模式或事务(Transaction)模式,是一种对象的行为模式。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。命令模式的本转载 2018-01-30 16:07:57 · 233 阅读 · 0 评论 -
JAVA设计模式-24-中介者模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/54984322一、什么是中介者式中介者(Mediator)模式(亦被称为调停者模式)是一种对象的行为模式。用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式的本质:封装交互设计意图:转载 2018-01-30 16:09:25 · 260 阅读 · 0 评论 -
JAVA设计模式-25-外观模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/55007436一、什么是外观式外观(Facade)模式是一种对象的结构型模式。为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式的本质:封装交互,简化调用设计意图:隐藏系统的复杂性,并向客户端转载 2018-01-30 16:10:26 · 179 阅读 · 0 评论 -
JAVA设计模式-14-享元模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/52770961一、什么是享元模式享元Flyweight模式是构造型模式之一,它通过共享数据使得相同对象在内存中仅创建一个实例,以降低系统创建对象实例的性能消耗。以博客里写文章为例来说吧,把文章和文章中的文字看作对象,我们每在博客里写一个字就相当于是创建一个文字对象,假如我们写的文章有一万个字,那转载 2018-01-19 13:57:13 · 191 阅读 · 0 评论 -
JAVA设计模式-13-适配器模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/52347644文章中部分经典内容参考以下文章:GoF经典著作《 Design Patterns: Elements of Reusable Object-Oriented Software 》(《设计模式:可复用面向对象软件的基础》)适配器模式原理及实例介绍JDK中的设计模式之适配器模式设转载 2018-01-19 13:43:01 · 372 阅读 · 0 评论 -
JAVA设计模式-02-工厂方法模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51453376一、什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一转载 2018-01-10 20:10:25 · 166 阅读 · 0 评论 -
JAVA设计模式-05-原型模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51484227部分经典内容引用:http://www.cnblogs.com/java-my-life/archive/2012/04/11/2439387.htmlhttp://blog.youkuaiyun.com/jason0539/article/details/23158081转载 2018-01-11 20:02:06 · 211 阅读 · 0 评论 -
JAVA设计模式-06-建造者模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51569959部分经典内容引用:点击打开链接:http://www.cnblogs.com/lwbqqyumidi/p/3742562.html前言听完本节课之后顿时头大了,感觉有点像工厂方法模式,查看了网上很多文章也是众说纷纭,看到了corn的这篇文章才有点转载 2018-01-16 15:15:52 · 220 阅读 · 0 评论 -
JAVA设计模式-07-装饰模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51659944部分经典内容引用:点击打开链接:http://www.cnblogs.com/java-my-life/archive/2012/04/20/2455726.html一、什么是装饰模式装饰( Decorator )模式又叫做包装( Wrapper )转载 2018-01-17 16:25:41 · 176 阅读 · 0 评论 -
JAVA设计模式-08-策略模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51684334一、什么是策略模式策略(Strategy)模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algori转载 2018-01-17 16:36:58 · 223 阅读 · 0 评论 -
JAVA设计模式-09-观察者模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51707104一、什么是观察者模式观察者(Observer)模式是行为模式之一,它的作用是当一个被观察对象的状态发生变化时,能够自动通知相关的观察者对象,自动更新观察者对象中被观察对象的状态。它提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。转载 2018-01-17 16:50:46 · 200 阅读 · 0 评论 -
JAVA设计模式-10-代理模式(静态)
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51841599文章中部分经典内容参考以下博文:http://www.lxway.com/4445954962.htmhttp://blog.youkuaiyun.com/lovelion/article/details/8116704https://www.ibm.com/developerw转载 2018-01-17 17:18:41 · 230 阅读 · 0 评论 -
JAVA设计模式-11-代理模式(动态)(一)
java的动态代理机制详解代理模式原理及实例讲解代理模式详解包含原理详解Java动态代理的实现JAVA学习篇--静态代理VS动态代理深入理解Java Proxy机制一、什么是动态代理在静态代理(Static Proxy)模式中,代理类都是真实存在的,由程序员提前创建好的java类,是静态的,每一个代理类在编译之后都会生成一个.class字节码文件,静态代转载 2018-01-17 17:40:05 · 392 阅读 · 0 评论 -
JAVA设计模式-03-抽象工厂模式
一、什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。此处引入了一个新的概念产品族,那什么是产品族呢?百度一下:产品族是以产品平台为基础,通过添加不同的个性模块,以满足不同客户个性化需求的一组相关产品。图.产品族等级结转载 2018-01-10 20:15:06 · 178 阅读 · 0 评论 -
JAVA设计模式-12-代理模式(动态)(二)
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/51902104java的动态代理机制详解代理模式原理及实例讲解代理模式详解包含原理详解Java动态代理的实现JAVA学习篇--静态代理VS动态代理深入理解Java Proxy机制一、前章回顾在前一章“《学习笔记》之JAVA设计模式--代理模式(动态)(一)”中我们分别使用JDK自带的动态代理和C转载 2018-01-19 13:37:06 · 209 阅读 · 0 评论 -
JAVA设计模式-26-解释器模式
参考:http://blog.youkuaiyun.com/pengjunlee/article/details/57079903一、什么是解释器模式解释器(Interpreter)模式是一种对象的行为模式。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。所谓“语言”,指的是使用规定格式和文法的一类字符组合。所谓“文法”,简单点说就是转载 2018-01-30 16:11:32 · 495 阅读 · 0 评论