摘要: 责任链模式概述责任链模式是将多个处理事件的行为组合成一条链,通过调用链来对事件进行批处理。与单一事件处理不同,责任链模式强调多个事件连续处理,注重事件处理的序列化。适用场景一个简单事件运行有一个前提:被触发。一个简单事件只有收到运行的请求才会运行。在程序设计中,若单个简单的事件越来... 阅读全文
posted @ 2017-02-08 14:35 晚樨 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 七、桥接模式概念小插曲将抽象与具体分离就是桥接模式。我勒个去,GOF里面的这一句想必很难理解。这句话的确很抽象,但我们仔细琢磨琢磨,还是会柳暗花明的。桥接模式的“桥”字,说实话我也不明白为什么要以“桥接”来命名这一模式,所以先请大家把“桥接模式”抽象地看作“**模式”,不再为名字而... 阅读全文
posted @ 2017-02-07 21:49 晚樨 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 六、外观模式(Facade)概述外观模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。外观模式的中的外观是一个抽象的概念,泛指外部的对象。外观对象中包含了若干的内部对象,内部的各个对象存在某些逻辑关联,从而组成简单或复杂的内部系统... 阅读全文
posted @ 2017-02-07 15:34 晚樨 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 五、享元模式(Flyweight)享元模式简介Flyweight本意是拳击中的绳量级,在这里是指代共享的元素。享元模式指多个元素共享使用。把生活中的公共设施比作这里的元素,每个人都能享用元素,人人共享资源。享元模式最大的特点就是资源共享性。Java中String类型利用了享元模式。... 阅读全文
posted @ 2017-02-06 21:20 晚樨 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 四、组合模式(Composite)组合模式相对不好阐述。引用大话设计模式的片段:“当发现需求中是体现部分与整体层次结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑组合模式了。”组合模式与树形结构程序设计是密不可分的。组合模式很好的... 阅读全文
posted @ 2017-02-06 14:42 晚樨 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 三、装饰器模式在Java中,装饰器模式使用场景非常普遍,例如BufferedInputStream就利用了装饰器模式。装饰器模式与代理模式非常相似,相似点可总结如下:1、都是对原始类功能、特性的增强。 2、都是通过注入原始类来实现类的增强。 3、其增强原始类的方式都是非侵入的,可插... 阅读全文
posted @ 2017-02-06 14:10 晚樨 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 二、代理模式我们在实践过程中,常常需要对一个类的功能进行完善和增强。于是,我们经常会用继承类和实现接口的方式来增强一个类,但这样或多或少会造成类与类之间的耦合:继承类之后不能再继承其他类;实现接口的话必须实现接口中的所有方法,且若接口的方法发生改变,实现接口类也必须做出改变,这样不... 阅读全文
posted @ 2017-02-06 13:38 晚樨 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 结构型模式清单:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式。其中,适配器模式、装饰模式、享元模式、代理模式适用场景较多,须重点掌握。一、适配器模式适配器模式分为类适配器模式、对象适配器模式、缺省适配器模式。适配器模式思想原理很简单。举个简单的例子:笔记本... 阅读全文
posted @ 2017-02-06 11:31 晚樨 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Java一共有23种设计模式,23种设计模式大致分为三大类:创建模式、结构化模式、行为模式。Tip:由于23三种设计模式的篇幅较长,先来介绍我们比较熟悉的建造者模式。一、单例模式(Singleton)单例模式中的单例是指唯一的实例对象。Java API中的Calendar类就利用了... 阅读全文
posted @ 2017-02-03 21:08 晚樨 阅读(186) 评论(0) 推荐(0) 编辑
摘要: JVM虚拟机内存区域概述虚拟机内存区域分配示意图一、Java堆(Java Heap)Java堆是Java虚拟机内存管理中占用空间最大的一块区域。Java堆是被所有线程共享的一片内存区域,在虚拟机的启动时而创建,被用来存储实例对象和数组。Java堆是垃圾收集器(Garbage Col... 阅读全文
posted @ 2017-02-02 20:05 晚樨 阅读(192) 评论(0) 推荐(0) 编辑