Prototype原型模式
摘要:定义: prototype pattern是指原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。是一种创建模式。 角色 Prototype(抽象原型类):它是声明克隆方法的接口,是所有具体原型类的公共父类,可以是抽象类也可以是接口,甚至还可以是具体实现类。 ConcretePrototy
阅读全文
posted @
2022-03-26 08:24
duanxz
阅读(96)
推荐(0) 编辑
观察者模式与监听模式
摘要:《观察者模式与监听模式》 《JDK自带的观察者模式》 《JDK自带的监听器模式》 《ApplicationEvent事件机制源码分析》 一,类的关系: a.关联关系:如A类调用B类。 b.继承关系:如A类是B类的父类。 c.聚合关系:如装橘子的箱子,箱子是否存在与里面装没装橘子没有任何关系,也就是说
阅读全文
posted @
2018-10-30 17:05
duanxz
阅读(5254)
推荐(0) 编辑
委派模式
摘要:在常用的23种设计模式中其实面没有委派模式(delegate)的影子,但是在Spring中委派模式确实用的比较多的一种模式,Spring MVC框架中的DispatcherServlet其实就用到了委派模式,在Spring的源码中,以Delegate结尾的地方都实现了委派模式。有前辈将其总结为代理模
阅读全文
posted @
2016-01-19 19:46
duanxz
阅读(1352)
推荐(0) 编辑
多线程设计模式(四):生产者-消费模式
摘要:生产者-消费模式,通常有两类线程,即若干个生产者线程和若干个消费者线程。生产者线程负责提交用户请求,消费者线程负责具体处理生产者提交的任务。两者之间通过共享内存缓冲去进行通信。 一、架构模式图: 类图: 生产者:提交用户请求,提取用户任务,并装入内存缓冲区; 消费者:在内存缓冲区中提取并处理任务;
阅读全文
posted @
2016-01-19 19:34
duanxz
阅读(804)
推荐(0) 编辑
多线程设计模式(三):Master-Worker模式
摘要:Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务;Worker进程,负责处理子任务。当Worker进程将子任务处理完成后,结果返回给Master进程,由Master进程做归纳汇总,最后得到最终的结果。 一、什么是Mast
阅读全文
posted @
2016-01-19 19:12
duanxz
阅读(836)
推荐(0) 编辑
多线程设计模式(二):Future模式
摘要:一、什么是Future模型: 该模型是将异步请求和代理模式联合的模型产物。类似商品订单模型。见下图: 客户端发送一个长时间的请求,服务端不需等待该数据处理完成便立即返回一个伪造的代理数据(相当于商品订单,不是商品本身),用户也无需等待,先去执行其他的若干操作后,再去调用服务器已经完成组装的真实数据。
阅读全文
posted @
2016-01-19 19:08
duanxz
阅读(718)
推荐(1) 编辑
多线程设计模式(一):总体介绍
摘要:多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion、不变、生产者-消费者 模式;jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池; 锁(分为内部锁、重入锁、读写锁)、ThreadLocal
阅读全文
posted @
2016-01-19 17:07
duanxz
阅读(1044)
推荐(0) 编辑
cglib简介与callback解析
摘要:简介 cglib是一套java动态代理实现框架,cglib被应用到spring app,hibernate等高级业务框架,spring事务在业务实现类未实现接口的情况下也会使用该技术。 实际上,cglib基于继承实现,这也就意味着final,private相关的method无法被代理(在《Sprin
阅读全文
posted @
2015-04-09 18:06
duanxz
阅读(4084)
推荐(1) 编辑
SSL卸载技术对于HTTPS应用的优化与思考
摘要:迅猛发展的互联网为我们提供了丰富的信息资源,在带来便利的同时也影响着人们工作和生活方式。而让我们无法忽视的是,在开放的互联网所带来的繁荣背后,同时也潜藏着安全方面的隐患。随着人们对网络的依赖愈渐加深,各种加密技术应运而生,用以保障网络信息的安全性。SSL(Secure Sockets Layer)协
阅读全文
posted @
2015-04-05 18:14
duanxz
阅读(907)
推荐(0) 编辑
ApplicationEvent事件机制源码分析
摘要:《spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情》 《服务网关zuul之七:zuul中的动态刷新路由配置》 《观察者模式与监听模式》 《JDK自带的观察者模式》 《JDK自带的监听器模
阅读全文
posted @
2015-03-16 13:46
duanxz
阅读(3513)
推荐(0) 编辑
设计模式原则汇总
摘要:单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障
阅读全文
posted @
2014-04-08 22:16
duanxz
阅读(1730)
推荐(0) 编辑
从Decorator,Adapter模式看Java的IO库
摘要:我想任何一本介绍模式的书在讲到Decorator模式的时候不能不提到它的实际应用--在Java/IO库里面的应用,>这本书也不例外,有点不一样的是,这本书在介绍的时候有个专题,是从两个模式来看Java/IO库,完这个专题后,个人感觉对Java/IO库有了全新的认识同时也加深了Decorator模式跟Adapter适配器模式的理解,现和大家分享下这个在我看来很伟大的成果,同时说明下,以下大部分文字跟图片是来自>这本书。 一.引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充。它采用
阅读全文
posted @
2014-03-30 17:24
duanxz
阅读(755)
推荐(0) 编辑
java设计模式—Adapter模式
摘要:1、核心意图:将一个类的接口转换成客户希望的另外一个接口,从而使得原本由于接口不兼容而不能一起工作的类可以一起工作。该模式的目标是通过一个代理(这里是Adapter),在原来的类(Adaptee)和客户(Client)之间进行协调,从而达到兼容的目的。其核心是解决一致性的问题。2、身边实例:在我们实际生活中也很容易看到这方面的例子,比如我们要和一个外国人打交道,例如韩国 人,如果我们没有学习过韩语,这个韩国人也没有学习过我们汉语,在这种情况下,我们之间是很难进行直接交流沟通。为了达到沟通的目的有两个方法:1)改造 这个韩国人,使其能够用汉语进行沟通;2)请一个翻译,在我们和这个韩国人之间进行语
阅读全文
posted @
2014-03-30 15:40
duanxz
阅读(536)
推荐(0) 编辑
设计模式之Memento(备忘机制)
摘要:Memento备望录模式定义:memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.Memento模式相对也比较好理解,我们看下列代码:public class Originator { public int number; public File file = null; public Originator(){} // 创建一个Memento public Memento getMemento(){ return new Memento(this); } // 恢复到原始值 public void setMemento(M...
阅读全文
posted @
2014-03-30 15:37
duanxz
阅读(368)
推荐(0) 编辑
pattern目录
摘要:pattern目录 23种设计模式经典的设计模式有 23 种。随着编程语言的演进,一些设计模式(比如Singleton)也随之过时,甚至成了反模式,一些则被内置在编程语言中(比如Iterator),另外还有一些新的模式诞生(比如 Monostate)。它们又可以分为三大类:创建型、结构型、行为型。对
阅读全文
posted @
2014-03-30 09:29
duanxz
阅读(203)
推荐(0) 编辑
结构型:代理模式 Vs 适配器模式 Vs 门面模式(外观模式)
摘要:先上UML图 代理模式: 适配器模式: 门面模式(外观模式): 打了例子……呃……举个比方 代理模式: 水浒街,西门庆看上潘金莲,想和她嘿咻嘿咻,但是自己有不能去找潘金莲去说,于是他找到了金牌代理人王婆,王婆就去找潘金莲,经过一番商谈,潘金莲终于答应了西门庆的请求。 适配器模式: 水浒街,西门庆看上
阅读全文
posted @
2014-03-30 00:06
duanxz
阅读(1303)
推荐(0) 编辑
单例模式的破坏示例
摘要:1.反射破坏单例2.序列化破坏单例(克隆 扩展知识)3.注册式单例模式 方法1. 枚举式单例模式 方法2. 容器式单例4.线程单例实现ThreadLocal 1.反射破坏单例 大家有没有发现,上面介绍的单例模式的构造方法除了加上private 以外,没有做任何处理。如果我们使用反射来调用其构造方法,
阅读全文
posted @
2014-03-28 10:34
duanxz
阅读(2044)
推荐(0) 编辑
状态模式
摘要:一、状态模式简介 首先了解一下基本的概念! 1.什么是状态模式 状态模式(State Pattern),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 2.状态模式是用来解决什么问题的?是用来干什么的? 状态模式主要解决的是当控制一个对象状态装换的条件表达式过于复杂时的情况
阅读全文
posted @
2014-02-24 12:58
duanxz
阅读(894)
推荐(0) 编辑
代码重构----使用java有限状态机来消除太多的if else判断
摘要:1. 状态机基本概念 http://zh.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E6%9C%BA 状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须满足来确使转移发生的条件来描述
阅读全文
posted @
2014-02-24 12:57
duanxz
阅读(1405)
推荐(0) 编辑
断路器(CircuitBreaker)设计模式
摘要:断路器是电器时代的一个重要组成部分,后面总是有保险丝熔断或跳闸的断路器是安全的重要保障。 微服务最近几年成为软件架构的热门话题,其益处多多。但需要知道的是,一旦开始将单块系统进行分解,就上了分布式系统的山头。 在云或分布式系统环境中,任何对一致性或可靠性的表述就是谎言。我们必须假设微服务的行为或其服
阅读全文
posted @
2014-02-24 11:20
duanxz
阅读(1879)
推荐(0) 编辑