自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 访问者模式

背景: 在现实生活中,有些集合对象中存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价,药房工作人员根据处方单的内容进行抓药。 这样的例子还有很多,...

2019-12-23 15:09:09 337

原创 中介者模式

定义: 定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者又叫调停模式,它是迪米特法则的典型应用。适用场景: 1、当对象之间存在复杂的网状结构关系而导致依赖关系混乱且难以复用时。 2、当想创建一个运行于多个类之间的对象,又不想生成新的子类时。优点: 1、降低了对象之间的...

2019-12-20 22:11:22 273

原创 springBoot + Mybatis 配置多数据源

springBoot + Mybatis 配置多数据源

2019-12-20 17:22:34 512 1

原创 状态模式

定义: 对于有状态的对象,把复杂的“判断逻辑”提取到不同的对象中,允许状态对象在其内部状态发生改变时改变其行为。适用场景: 1、当一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变它的行为时,就可以考虑使用状态模式。 2、一个操作中含有庞大的分支结构,并且这些分支决定于对象的状态时。优点: 1、状态模式将与特定状态相...

2019-12-19 21:40:06 581

原创 备忘录

定义: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能够将该对象恢复到原先保存的状态。适用场景: 1、数据库事务回滚 2、ctrl+z 3、ie浏览器回退操作优点: 1、提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。 ...

2019-12-18 17:27:05 183

原创 命令模式

定义: 将请求封装成对象,使发出请求的责任和执行请求的责任分隔开。这样两者之间通过命令对象进行沟通,方便将命令对象进行存储、传递、调用、增加和管理。适用场景: 1、当系统需要将请求调用者与请求接收者解耦时,命令模式使得调用者和接收者不直接交互。 2、当系统需要随机请求命令或经常增加或删除命令时,命令模式比较方便实现这些功能。 3、当...

2019-12-17 11:27:19 141

原创 解释器模式

定义: 解释器模式提供了一种评估计算语言语法或表达式的方法,这种模式实现了一个表达式接口,该接口解释一个特定的上下文,这种模式被用在 SQL 解析、符号处理引擎等。应用场景: 1、当语言的文法较为简单,且执行效率不是关键问题时。 2、当问题重复出现,且可以用一种简单的语言来进行表达时。 3、当一个语言需要解释执行,并且语言中的句子...

2019-12-16 21:43:01 121

原创 迭代器模式

背景: 在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了 “开闭原则”。 既然将遍历方法封装在聚合类中不可取,那么聚合类中不提供遍历方法,将遍历方法由用户自己实现是否可行呢?答案是同样不可取,因为这种方式...

2019-12-15 14:28:29 171

原创 模板方法

定义: 在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的特定步骤。适用场景: 1、有多个子类共有的方法,且逻辑相同 2、重要的、复杂的方法,可以考虑作为模板方法 3、重构时,模板方法模式是一个经常使用到的模式,把相同的代码抽取到父类中,通过构造函数约束其行为优...

2019-12-14 21:23:35 119

原创 抽象工厂

定义: 抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类。使用场景: 1、客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 2、强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码 3、强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码组成角色:...

2019-12-13 10:44:04 138

原创 桥接模式

1、定义 将抽象部分与它的实现部分分离,使它们都可以独立的变化。2、组成部分 1、抽象类(Abstraction) 2、扩充抽象类(RefinedAbstraction) 3、实现类接口(Implementor) 4、具体实现类(ConcreteImplementor)3、为什么使用桥接模式 桥接模式将...

2019-12-08 21:29:10 161

原创 Spring Cloud Alibaba教程:使用Nacos作为配置中心

在上一篇文章中讲解了如何使用Nacos作为服务注册中心注册服务。Nacos除了可以作为服务注册中心,它还有服务配置中心的功能。类似于consul config,Nacos是支持热加载的。本篇文章将讲述如何使用Nacos作为配置中心。 本案例是在上一篇文章(Nacos作为服务注册与发现)的nacos-provider工程上改造的,在工程的pom文件引入nacos-con...

2019-12-04 16:50:17 356

原创 适配器模式

1、定义: 将一个类的接口转换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。2、使用场景: 客户端需要一个target(目标)接口,但是不能直接重用已经存在的adaptee(适配者)类,因为它的接口和和target接口不一致,所以需要用adapter(适配器)将adaptee转换为target接口。前提是target接...

2019-12-03 21:50:06 349 4

原创 Spring Cloud Alibaba教程:使用Nacos作为服务注册发现组件

什么是Nacos? Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 是Spring Cloud A 中的服务注册发现组件,类似于Consul、Eureka,同时它又提供了分布式配置中心的功能,这点和Consul的config类似,支持热加载。1、Naco...

2019-12-03 17:12:00 480

原创 Jmeter 安装和使用教程

jmeter 的安装教程

2019-12-02 17:27:39 1102 1

原创 享元模式

1、定义: 享元模式主要用于减少创建对象的数量,以减少内存占用和提升性能2、优点: 大大较少对象的创建,降低系统的内存,使用率高。3、缺点: 提高了系统的复杂度,需要分离出内部状态和外部状态,而且外部状态具有固有化的性质,不应该随着内部状态的改变而变化,否则会造成系统的混乱。4、享元模式分类 1、单纯的享元模式:所有的享元...

2019-12-01 21:31:38 295

原创 外观模式

定义: 它是一种通过为多个复杂的子系统提供一个一致的接口,而使得这些子系统更加容易被访问的设计模式。优点: 1、降低了子系统与客户端之间的耦合性,使得子系统的变化不会影响调用它的客户类。(“迪米特法则”的典型应用) 2、对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子系统使用起来更加容易。 3、降低了大型软件系统中的编译...

2019-12-01 14:37:03 200

erlang22.1_win64

rabbitmq在windows下所需的环境,erlang_22.1_window64的环境

2019-09-26

导出excel和txt文件的工具类

导出excel文件时,数据量不能超过18万,导出时间为秒级,导出txt文件时,无限制

2018-06-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除