设计模式
Visonws
这个作者很懒,什么都没留下…
展开
-
设计模式之代理模式
文章目录一、代理1. 静态代理2.动态代理2.1 JDK代理2.2 CGLIB代理二、原理1.JDK代理原理 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.作用:1.检测类中方法的执行2.可以在类中所有的或者某一个方法执行的过程中 动态的植入代码进行运行...原创 2019-01-01 23:50:38 · 115 阅读 · 0 评论 -
设计模式之策略模式
特点: 最终执行结果是固定的,执行过程和执行逻辑不一样应用场景: 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 Spring 中在实例化对象的时候用到 Strategy 模式,在 SimpleInstantiationStrategy 有使用。举例: 比较器,旅行路线,固定算法、买东西支付场景可以参考:我们平常新建的Compa...转载 2019-01-05 11:27:25 · 92 阅读 · 0 评论 -
设计模式之简单工厂,工厂方法,抽象工厂模式
基准类,一个接口两个实现产品类//接口Milk public interface Milk { /** * 获取牛奶的名称 * @return String 名字 */ String getName();}/** * 蒙牛牛奶类MengNiu */public class MengNiu implements Milk { @...原创 2018-12-22 11:04:02 · 331 阅读 · 0 评论 -
设计模式之原型模式
相关点:apache中反射实现原型模式 BeanUtilsjdk clone克隆(浅拷贝)在Spring中Bean对象配置中的scope=“prototype”,每次使用对象之前,都会创建一个对象,并且会将依赖关系完整的赋值给新创建的对象Spring 默认是单例模式浅拷贝: 如果是复制的是 引用类型,那么复制的就是引用类型的地址,并没有重新新建一个单独的引用类型,后面如...原创 2018-12-26 23:33:34 · 205 阅读 · 0 评论 -
设计模式之单例模式
文章目录1.饿汉式2.懒汉式2.1 (线程非安全)2.2 (线程安全)3.内部类实现4.注册登记式5.枚举式6.反序列化单例模式 初衷是为了使资源共享,只需要赋值或者初始化一次,大家都能重复利用应用场景: Listener本身单例,日历Calendar,IOC容器,配置信息Config(除了差异性的)技术方案: 保证整个运行过程中只有一份,饿汉式、懒汉式、注册登记式(枚举式)、反序列如...原创 2018-12-26 22:05:52 · 114 阅读 · 0 评论 -
设计模式之桥接模式
桥接模式:将抽象部分和实现部分分离,使他们可以独立变化。使用场景: 一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。比如《大话设计模式》中的例子,手机可以按照品牌和软件两种方式分类,所以可以分开把品牌作为抽象,另外软件作为实现,然后组合实现。为什么叫桥接模式?看下面的UML图中间有一条线,很像“桥”。将抽象和实现连接起来了 详情的使用和介绍可以参考网址:...转载 2018-10-09 20:58:47 · 127 阅读 · 0 评论 -
设计模式之组合模式
使用场景:当需求中是体现整体和部分层次结构的时候,并且希望用户可以忽略组合对象和单个对象的不同,那么统一的使用组合结构中的所有的对象的时候,就可以考虑这个组合模式了。详情可以参考优秀博客: https://www.cnblogs.com/snaildev/p/7647190.html结构图:...转载 2018-10-07 09:34:02 · 95 阅读 · 0 评论 -
设计模式之外观模式
使用场景:1.设计之初,应该有意识的将不同的层分离,例如经典的三层架构,数据访问层,业务逻辑层,表示层;层层之间建立外观Facade。 2.开发阶段,子系统因为不断的重构变得十分复杂,这时候会产生许多小类,就会对外部调用产生使用上的困难,可以通过增加Facade可以提供一个简单的接口,减少依赖。 3.在维护一个遗留的大型系统的时候,可以在新系统开发一个外观Facade类,来提供设计粗糙或...转载 2018-10-07 09:25:27 · 96 阅读 · 0 评论 -
设计模式之适配器模式
1 适配器模式主要包含:对象适配器(组合的形式实现)和类适配器(继承的形式实现),通常采用对象适配器。2 使用场景: 在软件开发中,就是系统的数据和行为都是正确的,就是接口不符,我们应该考虑使用适配器,目的是是控制范围之外的一个原有对象和某一个接口匹配。适配器模式主要应用在希望复用一些现有的类,但是接口又和复用环境的要求不一致的情况。注意点:并不是当遇到接口不匹配就使用这个模式,如果是在早...转载 2018-10-06 16:57:51 · 135 阅读 · 0 评论 -
设计模式之模板模式
模板模式又名模板方法模式。 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变 一个算法的结构即可重定义该算法的某些特定步骤。 TemplateMethod 模式一般是需要继承的。和策略模式对比:策略模式:只有选择权(由用户自己选择已有的固定算法)模板模式:侧重点不是选择,你没有选择,你必须这么做,你可以参与某一部分内容自定义...原创 2019-01-06 16:34:19 · 352 阅读 · 1 评论