23种设计模式
文章平均质量分 86
我在深沪海边
这个作者很懒,什么都没留下…
展开
-
GoF-23之建造者模式
背景 当一个类的内部数据过于复杂的时候(通常是负责持有数据的类,比如Config、VO、PO、Entity...),要创建的话可能就需要了解这个类的内部结构,还有这些东西是怎么组织装配等一大坨乱七八糟的东西,这个时候就会增加学习成本而且会很混乱,这个时候就想啊想一种什么法子来管理一下这个类中的数据呢,怎么在创建的时候让它按部就班的来,并且代码可读性很好别让我看花了眼啊,我要的东西也能都很好设置进来,这就是Builder模式的应用场景, Builder模式可以将一个类的构建和表示进行分离 1、介绍原创 2021-08-10 15:59:58 · 81 阅读 · 0 评论 -
GoF-23之工厂设计模式
工厂设计模式 1、什么是工厂设计模式 工厂设计模式,顾名思义,就是用来生产对象的,在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则,如果我们使用工厂来生产对象,我们就只和工厂打交道就可以了,彻底和对象解耦,如果要更换对象,直接在工厂里更换该对象即可,达到了与对象解耦的目的;所以说,工厂模式最大的优点就是:解耦 2、简单工厂设计模式 定义:一个工厂方法,依据传入原创 2021-08-10 15:57:42 · 56 阅读 · 0 评论 -
GoF-23之单例模式
1、什么是单例模式? 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取, 然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。 2、单例的实现步骤 1)将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该类的构造方法来实例化该类的对象原创 2021-08-10 15:53:48 · 128 阅读 · 0 评论 -
动态代理-JDK动态代理
1、 什么是代理模式? 当一个对象不能直接使用,可以在客户端和目标对象之间创建一个中介,这个中介就是代理 作用: 1.控制访问:在代理模式中,控制是否可以调用目标对象的方法 2.功能增强:可以在完成目标对象的调用时,附加一些额外的功能,这些额外的功能叫做功能增强 代理的实现方式: 1.静态代理:代理类是手动实现的一个java文件,同时代理的目标对象是固定的 优点:容易理解,使用方便 缺点:在目标类比较多的时候,会产生大量的代理类;当接口改变时,所影响的目标类和代理类比较多 2.动态代理:使原创 2021-08-10 15:42:43 · 122 阅读 · 0 评论