自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

悟纤学院

Spring Boot周边技术探索和交流学习。

  • 博客(79)
  • 资源 (14)
  • 问答 (1)
  • 收藏
  • 关注

原创 「Activiti精品 悟纤出品」开发一个简单的SpringBoot activiti应用 - 第330篇

相关历史文章(阅读本文前,您可能需要先看下之前的系列????)国内最全的SpringBoot系列之三2020上半年发文汇总「值得收藏」「工作流Activiti」介绍-新手上路,注意安全-第320篇「Activiti精品悟纤出品」activiti介绍-十万个为什么-第321篇「Activiti精品悟纤出品」Activiti6GettingStarted-稳扎稳打-第322篇「Activiti精品悟纤出品」Activiti7GettingStarted-摸石头...

2020-12-28 16:33:38 14833

原创 单例模式的实现-懒汉模式【大话设计模式之爱你一万年:单例模式:我的女朋友只有你一个】

2.单例模式的实现-懒汉模式视频学习地址 ——《大话设计模式之爱你一万年》:https://dwz.cn/wqO0MAy7这一节我们先来看看一种实现模式,懒汉模式,这也是这么中实现方式要考虑的地方最多的一种方式,对于这种方式如果能够掌握的话,其它种方式就很容易掌握了。一、准备工作1.1 说明 例子说明:我有一个女朋友,女朋友是我的唯一。 那么这样的例子在程序怎么去表达出来 —— 我的女朋友,你是我的唯一? 没有女朋友的怎...

2020-12-22 16:07:33 14687

原创 大话设计模式之爱你一万年:第二十三章 行为模式:解释器模式:在也不用担心工资计算错误了:3.解释器模式之简单计算器3.0

上面的在上面的这个代码中,我们目前并没有看出解释器模式的优势,感觉代码反而变复杂了呐,引入了好几个类。 我们发现在的计算器只能解释a+b这种类型的表达式,如果表达式是a+b+c… 的呢,上面的代码就无能为力了。 很明显我们需要改造一下上面的代码以此来实现我们这个需求。一、解释器模式之计算器3.01.1 分析 整个解释器模式的框架我们在上面的例子中已经搭建的差不多了,这里只说明不一样的地方。 这里的就是要如何解析a+b+c….,我们先看下...

2020-12-22 16:03:43 14499

原创 大话设计模式之爱你一万年:第二十三章 行为模式:解释器模式:在也不用担心工资计算错误了:2.解释器模式之简单计算器

我们有有这么简单的表达式:String statement = "1 - 2 + 3 - 4 + 5"; 这个表达式结果是多少呢?这里我们就可以使用到解释器进行处理。一、常规之计算器1.0 我们先来个简单的,就是两位数的加减法,比如:1 + 2。1.1 分析 比如我们有一个表达式:String statement = "1 + 2 "; 这里+号之间有一个很大的空格,这里主要是为了之后编码方便,进行分割而已。...

2020-12-22 16:01:26 14627

原创 大话设计模式之爱你一万年:第二十三章 行为模式:解释器模式:在也不用担心工资计算错误了:1.解释器模式

打印社在女朋友的管理下,运转的还不错。但最近就有点不太平了…女朋友说这个有财务是不是会把这个工资计算错了,难道是咱们的薪资结构太复杂了。很烦人…这个长期下去确实不是办法,这个验收的人也会很揪心。要是有一个计算器,那么是不是就会少出现这样的问题呢?毕竟计算机在运算能力还是比人脑快的。嗯,有道理,是时候提供一台计算器了。一、解释器模式概念1.1 定义 解释器模式(Interpreter Pattern): 提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实...

2020-12-22 15:57:21 14476

原创 大话设计模式之爱你一万年:第二十二章 行为模式:访问者模式:你的KPI完成了吗:为爱保驾护航:3.访问者模式之绩效报表

CTO关注工程师的代码量、经理的新产品数量;CEO关注的是工程师的KPI和经理的KPI以及新产品数量。在没有使用访问者的时候,我们已经看到了这个代码的扩展性不强。接下来我们使用访问者进行代码的优化。 在《访问者模式》中CTO和CEO就是所谓的访问者,他们的关注点是不一样的,所以需要不同的实现。一、访问者模式之绩效报表1.1 分析 我们分析在我们上面的这个例子中对应访问者的各个角色:员工(Employee)扮演了 Element 角色,而工程师(Engin...

2020-12-22 15:56:09 14457

原创 大话设计模式之爱你一万年:第二十二章 行为模式:访问者模式:你的KPI完成了吗:为爱保驾护航:2.无访问者模式之绩效报表

CTO关注工程师的代码量、经理的新产品数量;CEO关注的是工程师的KPI和经理的KPI以及新产品数量。我们先看下常规的一个设计思路。一、无访问者模式之绩效报表1.1 分析 首先工程师(Engineer)和经理(Manager)我们可以抽象出来一个员工类(Employee),另外员工信息和报表的展示我们可以用一个类(BusinessReport)来进行管理。1.2 类图1.3 编码1.3.1 员工抽象类 员工抽象类Employ:pa...

2020-12-22 15:52:57 14388

原创 大话设计模式之爱你一万年:第二十二章 行为模式:访问者模式:你的KPI完成了吗:为爱保驾护航:1.访问者模式

打印社在我的女朋友的细心经营下,越做越好。 到年底了,女朋友(CEO)和我(CTO)开始评定员工一年的绩效,员工分为工程师和经理。 CTO关注工程师的代码量、经理的新产品数量;CEO关注的是工程师的KPI和经理的KPI以及新产品数量。 由于CEO和CTO对于不同员工的关注点是不一样的,这就需要对不同员工类型进行不同的处理。访问者模式此时可以派上用场了。一、访问者模式概念1.1 定义 访问者(visitor)模式定义:表示一个作用于...

2020-12-22 15:51:06 14685

原创 大话设计模式之爱你一万年:第二十一章 行为模式:责任链模式:为爱保驾护航:4.责任链模式之八卦信息过滤升级版本2

在上面的责任链中,我们的处理还是单向的,在实际的项目中可能需要双向的,比在Servelt中的FilterChain就是双向的,既可以处理接收到信息,又可以处理返回去的信息,对于这样的需求,我们应该怎么做呐?一、八卦信息过滤4.0:责任链模式升级版21.1 分析 对于这样的双向过滤需求,我们想到的最简单的方式,那么就定义两个大的过滤器,一个处理接收的请求,一个请求响应的请求。当然这种方案是可以的。 但是我们的过滤器稍微一需改,就能够支持这样的需求,实现完美的双向的...

2020-12-22 15:50:26 14661

原创 大话设计模式之爱你一万年:第二十一章 行为模式:责任链模式:为爱保驾护航:3.责任链模式之八卦信息过滤升级版本

上面我们已经算是一个责任链的例子了。在设计的项目中,我们可能有这样的需求: 我们现在存在两个过滤器链,我们希望两个过滤器链可以一起工作,那么这个应该怎么实现呐。一、八卦信息过滤3.0:责任链模式升级版1.1 分析 既然有两个链条,那么我们应该设计一个类管理这个链条的,而不应该MsgProcessor定义一个List<Filter>。1.2 编码1.2.1 过滤器链 在之前我们的过滤器链是在MsgProcessor中的...

2020-12-22 15:35:02 14317

原创 大话设计模式之爱你一万年:第二十一章 行为模式:责任链模式:为爱保驾护航:2.责任链模式之八卦信息过滤

为了解决这个八卦中的敏感信息,我头发都白了。后来发现了《责任链模式》可以解决这个敏感信息的过滤之后,终于解放了我的双手。一、八卦信息过滤1.01.1 分析 我们信息是从一个Request传递过来的,我们需要有一个Request对象,然后我们的消息需要进行处理,我们先直接通过MsgProcessor类处理。1.2 类图1.3 编码 这里还没有引入责任链模式的概念,所以编码起来很简单。信息请求类封装Request:package com....

2020-12-22 15:28:39 14855

原创 大话设计模式之爱你一万年:第二十一章 行为模式:责任链模式:为爱保驾护航:1.责任链模式

自从我收集八卦信息给我女朋友之后,我就不得安宁了。这是怎么一回事呢?为了能够快速收集到八卦信息,我这不网络爬虫爬取了各大新闻网站的信息吗?但有些网站… 你懂得… 有很敏感的一些数据,这些肯定不能让我还是少女心的女朋友看到呀。不然我女朋友不得问我天天看的都是啥啥啥。到时候就是解释不清楚了。看来需要对采集到的数据进行处理,这不《责任链模式》轻松就满足了需求。一、责任链模式基本概念1.1 责任链模式基本概念 责任链模式(Chain Of Responsibilities)...

2020-12-22 15:24:47 14550

原创 大话设计模式之爱你一万年:第二十章 行为模式:迭代器模式:让遍历标准化:1. 迭代器模式

如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:/** * 测试Iterator * * @author 悟纤「公众号SpringBoot」 * @date 2020-12-03 * @slogan 大道至简 悟在天成 */public class Test { public static void main(String[] args) { List<String> list

2020-12-22 15:23:52 14568

原创 大话设计模式之爱你一万年:第十九章 行为模式:观察者模式:新闻八卦我在行:1.观察者模式

我女朋友喜欢八卦,于是我每天就收集逗她玩。(1)今年北京大学校花出炉,神似某个明星(2)老板当众指责员工“长得丑”(3)和AI结婚,需要对其忠诚吗 我女朋友在我的八卦里,每天都是笑容满面。后来,我弟弟,我姐姐知道我每天会收集八卦信息,就说:反正一个人看是看,两个人看也是,你顺便也发一份给我们。 为了管理谁需要,谁不需要,我就说你们有需要的就订阅我把,有订阅我的,我就发送给他。 这就是观察者模式,和发布订阅有点相似。一、观察...

2020-12-22 15:20:48 14662

原创 大话设计模式之爱你一万年:第十八章 行为模式:中介者模式:那些年的情书-邮局传情:2.中介者模式之邮局传情

我:时隔多年,当年往事历历在目,邮局在那个年代千里传递了我对你的爱。女朋友:是呀,那时候我就觉得你特别有文采。我:其实我语文学的真的不是很好。女朋友:那你还能写出这么有诗情画意的句子。我:我想是爱情激发了我的灵感。女朋友:那你还得感谢我了…我:^_^ 感谢你多年的陪伴,这些年有你真好。一、中介者模式邮局传情1.1 分析 在以前我们给别人写邮件的时候,有一个邮局专门收发邮件的,发邮件的人只需要将邮件投递到邮局的邮件箱,邮局的人会将邮件转到你要...

2020-12-22 15:17:59 14674

原创 大话设计模式之爱你一万年:第十八章 行为模式:中介者模式:那些年的情书-邮局传情:1. 中介者模式基本概念

我:亲爱的,还记得那些年我给你写的情书吗?女朋友:记忆深刻、刻骨铭心。我:那你说说,那句话让你刻骨铭心了。女朋友:你看这句 – 不是“你虎啊”有多大的威慑力,而是我的心在你的心里。女朋友:还有这句 - 我喜欢你认真的样子,喜欢你疼我的时候,喜欢你做事坚持的能力,喜欢你有规划的生活,喜欢你对我用心,喜欢你惯着我,最关键喜欢你喜欢我。女朋友:还有你这小诗句。默默地为你付出所有,只想让你轻松快乐点。人生几回,让我好好爱你一回。今生相遇前世缘,我愿再等五百年。..

2020-12-22 15:10:41 14540 2

原创 大话设计模式之爱你一万年:第十七章 行为模式:备忘录模式:和女朋友的重要节日不能忘:2.备忘录方法之记事本

忘了不忘记重要的日子,我就设计了一个记事本,可以记录重要的日子。一、备忘录方法模式之记事本1.1 类图1.2 编码1.2.1 Memento: 备忘录角色 创建一个备忘录角色 - 备忘录Memento:package com.kfit.memento;/** * 创建一个备忘录角色 - 备忘录 * * @author 悟纤「公众号SpringBoot」 * @date 2020-12-01 * @slogan 大道至简 悟在天成 */publ...

2020-12-22 15:08:58 14526

原创 大话设计模式之爱你一万年:第十七章 行为模式:备忘录模式:和女朋友的重要节日不能忘:1.备忘录方法模式基本概念

最近和我女朋友吵架,吵架原因就是我忘记了和她相识的日子。哎,宝宝这大脑容量哪能记得那么多的事情呢。但是因为这样的事情吵架,确实也不好,那怎么办呢。那就搞个备忘录记录一下呗。一、备忘录方法模式(Memento)基本概念1.1 定义在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后就可将该对象恢复到原先保存的状态。备忘录模式属于行为模式,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态,这有点像我们平时口头禅 ”有没有后悔药“ 。备忘录模...

2020-12-22 15:07:36 14466

原创 大话设计模式之爱你一万年:第十六章 行为模式:模板方法模式:我在也不害怕写简历了:2.模板方法在Spring框架和JDK中的应用

这一节我们看看模板模式在Spring框架和JDK中的应用:一、Spring中的应用1.1 AbstractApplicationContext 模板方法模式在 Spring IOC 容器初始化的时候有所应用,我们看一下 AbstractApplicationContext 中的 refresh 方法,它就是一个模板方法,里面调用了一系列方法,有以实现的具体方法,有未实现的抽象方法,也有空的钩子方法: 部分结构类图如下:二、JDK中的应用2.1 H...

2020-12-22 15:04:58 14716

原创 大话设计模式之爱你一万年:第十六章 行为模式:模板方法模式:我在也不害怕写简历了:1.模板方法模式

我和女朋友的打印社很受大家欢迎,都喜欢来我们这边进行打印,主要是我们为用户提供了定制化服务,用户有什么需求,我们都会想办法满足。这不有些用户觉得写简历太难,要是有个模板可以参考就好了,他就只需要改改姓名,性别之类的,那就美的不得了。对于这种小问题,对于聪明的我,从来都不是事,轻松就给搞定了。《设计模式之爱你一万年》之《模板方法模板》一份模板让你写简历不再愁。一、模板方法模式(Template)基本概念1.1 定义 定义一个操作中的算法框架,而将一些步骤延迟到子类中。...

2020-12-22 15:03:29 14581

原创 大话设计模式之爱你一万年:第十五章 行为模式:状态模式:为烧烤造个电梯:2.状态模式之电梯系统

接下来我们通过这个电梯系统来学习一下状态模式。一、电梯系统分析电梯的状态有停止、运行、开门和关门等状态。而且每个状态还都要有特定的行为,比如在开门的状态下,电梯只能关门,而不能运行;在关门状态下,电梯可以运行、开门等。用一张表来表示这个关系:二、电梯系统1.0:非状态模式2.1 分析 我们正常的思考思路就是有一个电梯类Lift,在这个类当中会有运行、停止、开门、关门的几个方法,另外会定义这个电梯的一个状态。2.2 类图2.3 编码 ...

2020-12-22 15:01:50 14578

原创 大话设计模式之爱你一万年:第十五章 行为模式:状态模式:为烧烤造个电梯:1. 状态模式基本概念

我和女朋友的这个烧烤店越做越大,已经容不下更多的人。于是我们就买了块地,然后建了一栋楼,楼房已经创建了差不多了。现在还差这个电梯系统还没搞定。搞电梯的人需要三个月才能搞定。天才的我,最讨厌等待了,于是我就自己上。噼里啪啦的搞,一个月就搞定了。 电梯系统这个状态之间的切换确实还是比较复杂的,有开门、关门、运行、停止等。状态之间又可以互相切换,虽然复杂,但是难不倒我天才的我,而且电梯的事情,也让我沉淀了一个设计模式《状态模式》。一、状态模式(State)基本概念1.1 定义...

2020-12-22 14:58:52 14470

原创 大话设计模式之爱你一万年:第十四章 行为模式:命令模式:烧烤天天吃:2.命令模式概念

通过上面的例子,我相信大家对于命令模式有了一定的了解,这一节我们把一些概念梳理一下。一、命名模式(Command)基本概念1.1 定义命令(Command)模式:将请求封装成对象,以便使用不同的请求、日志、队列等来参数化其他对象。命令模式也支持撤销操作。 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。1.2 类图1.3 主要角色命令模式涉及到五个角色,它们分别是:(1)客户端(Client)角色:创建一个具体命...

2020-12-22 14:57:57 14573

原创 大话设计模式之爱你一万年:第十四章 行为模式:命令模式:烧烤天天吃:1.命令模式之烧烤店

最近我的女朋友爱上了烧烤。为了能让我的女朋友吃上最美味的烧烤,我聘请了一个烧烤师傅,专门在我家一楼进行烧烤。现在我女朋友要吃烧烤就很方便了,往楼下一叫,来个烤鸡翅,等一会烧烤师傅就会从楼下给拿上来。平时,烧烤师傅除了给我女朋友做烧烤,就比较闲了,我想虽然我是土豪,但是也得资源合理利用呢。于是我就把一楼改成一个小烧烤店,让师傅做烧烤生意,卖出的部分他有提成,师傅也很乐意,一方面能得到我给他的高额聘请费用,另外一方面还能赚取自己卖出的部分的提成。 故事就此开始了… ...

2020-12-22 14:57:19 14565

原创 大话设计模式之爱你一万年:第十三章 行为型模式:策略模式:女友在手,说走就走:3.策略模式之三国刘备江东娶夫人

这一节我们在通过一个三国之刘备江东娶夫人的例子来对策略模式有一个更深的理解。一、策略模式之三国刘备江东娶夫人1.1 故事背景刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开能解决棘手问题,嘿,还别说,真解决了大问题,搞到最后是周瑜陪了夫人又折兵。1.2 类图那咱们先看看这个场景是什么样子的。 先说说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是亮哥给的,妙计放在锦囊里,俗称就是锦囊妙计嘛,那赵云就是一个干活的人,从锦囊取出妙计,执...

2020-12-22 14:38:23 14704

原创 大话设计模式之爱你一万年:第十三章 行为型模式:策略模式:女友在手,说走就走:2.策略模式之出行旅游

要出行旅游,那么出行方式有--飞机、自驾游、火车、自行车等,这几种方式就是策略。我自己就不喜欢做攻略和计划,幸亏有我的女朋友。一、策略模式之出行旅游1.1 分析 对于出行方式可以抽象出来Vehicle接口,那么具体的方式就是:自行车、汽车、飞机等等。1.2 类图1.3 编码1.3.1 抽象的策略Strategy 出行方式,我们抽象出来一个交通工具类Vehicle:package com.kfit.strategy.travel;/...

2020-12-22 14:34:08 14805

原创 大话设计模式之爱你一万年:第十三章 行为型模式:策略模式:女友在手,说走就走:1.策略模式概念

每年我和女朋友都会出去旅游一到两次,这个时候,我女朋友是最开心的时候,因为她最喜欢搞出行计划了。要去哪里?怎么去?自行车,汽车,飞机什么样的出行方式,她一手都能搞定,根本都不用我操心。妈妈在也不用担心我找不到回家的路了。 喜欢思考的我,一眼就发现了这不就是策略模式吗。一、策略模式(strategy)基本概念1.1 策略理解策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个...

2020-12-22 14:31:19 14497 2

原创 大话设计模式之爱你一万年:第十二章 结构型模式:代理模式:代理无所不能:3.代理模式之动态代理

动态代理目前比较流行的两种实现方式是JDK动态代理和CGLIIB动态代理。这节我们通过JDK动态代理来对优化上面的例子。一、JDK动态代理类 JDK动态代理类位于java.lang.reflect包下,一般主要涉及到以下两个类:(1) Interface InvocationHandler:该接口中仅定义了一个方法public Object invoke(Object proxy, Method method, Object[] args)在实际使用时,第一个参数pro...

2020-12-22 14:30:11 14508

原创 大话设计模式之爱你一万年:第十二章 结构型模式:代理模式:代理无所不能:2.代理模式之静态代理

在接下里我们会使用一个在项目中使用的例子来进行说明。一、用户服务的实现 这里我们模拟一个用户服务的例子。定义一个操作用户的服务UserService:package com.kfit.proxy.user;/** * * 操作用户的服务 * * @author 悟纤「公众号SpringBoot」 * @date 2020-11-28 * @slogan 大道至简 悟在天成 */public interface UserService { ...

2020-12-22 14:26:58 14652 2

原创 大话设计模式之爱你一万年:第十二章 结构型模式:代理模式:代理无所不能:1. 代理模式概念

最近我女朋友,有点小脾气呐。咋说呐?干啥都不自己干了。你看说曹操曹操就到。女朋友:亲爱的,替我去买个机票呗。我:好叻。女朋友:亲爱的,替我去点个外卖呗。我:好叻。女朋友:亲爱的,替我去削个水果呗。我:好叻。…… 怎么感觉看起来很像我最近在研究的一个设计模式呐。有点像,有点像。好像是《代理模式》 —— 我就如同一个代理,代理我女朋友去做一些事情。 当然又有点像是命令模式,这个不要在意…. ^_^ 一、代理模式(proxy)基本概念...

2020-12-22 14:21:33 14636

原创 大话设计模式之爱你一万年:第十一章 结构型模式:享元模式:共享女友:1.享元模式之共享女友

最近和女朋友出去逛街,看到了一个让我心跳加速的事情:共享女友。可惜我有女朋友了,不然… 你懂得…. 看到这一幕让我有点似曾相识的感觉,这不就是设计模式中的享元模式吗?在一个池中,共享对象。一、享元模式(Flyweight)基本概念1.1 什么是享元模式 说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。 比如我们每次创建字符串对象时,都...

2020-12-22 14:16:16 14428

原创 大话设计模式之爱你一万年:第十章 结构型模式:组合模式:爱如此简单:3.组合模式在Spring框架和JDK中的应用

这一节我们看看组合模式在Spring框架和JDK中的应用:一、Spring中的应用1.1 WebMvcConfigurerComposite 我们在使用Java注解对springMVC进行配置时,通常是使用以下方式: 那我们的这个WebMvcConfig是谁进行管理的呐?就是WebMvcConfigurerComposite。 我们看看类WebMvcConfigurerComposite中维护了WebMvcConfigurer:二...

2020-12-22 14:13:42 14474

原创 大话设计模式之爱你一万年:第十章 结构型模式:组合模式:爱如此简单:2.组合模式之公司部门管理

有了《组合模式》的这个设计,那么我女朋友的公司管理系统就容易实现了。 接下来,让我大展拳脚,来面对疾风吧。一、组合模式之公司管理分析1.1 分析 根据组合模式的概念,我们对应的角色都是什么呢?(1)组合中的对象声明接口(Component) :这里的抽象接口就是Company(2)叶子对象(Leaf):人力资源部、财务部门;可以理解为一个类,也可以理解这是两个类,具体就是看实现的差异化。 (3)容器对象(Composite):ConcreteCo...

2020-12-22 14:12:14 15146

原创 大话设计模式之爱你一万年:第十章 结构型模式:组合模式:爱如此简单:1.组合模式基本概念

话说在找工作的过程中,我无意发现了打印机的商机,开设了一家打印社,随后就我的女朋友去打理了。—— 《原型模式:为爱找份工作》 我的女朋友,也是不负所托,把打印社越做越大,开了分公司,有人力资源部、财务部: 越做越大,我女朋友慢慢的就管理不过来了,很需要有一套办公管理软件来管理这些部门。 看我女朋友这么有能力,我也是很欣慰。所以也一直想多和她分担一些压力,这一次就是我崭露头角,一鸣惊人的时候了。 经过我多天的研究,我研究出来了一个设计模式《组...

2020-12-22 14:09:20 14771

原创 大话设计模式之爱你一万年:第九章 结构型模式:桥接模式:结婚发消息不是一件简单的事情:5.桥接模式在JDK源码中的应用

这一节我们看看桥接模式在JDK中的应用:一、JDK中的应用 JDBC在使用Driver获取Connection中使用了桥接模式,但是和我们所说的结构有所不同,DriverManager不是一个抽象,但他使用的桥接模式的大致结构。 基于JDBC的应用程序使用JDBC的API,相当于是对数据库操作的抽象的扩展,算作桥接模式的抽象部分;而具体的接口实现是由驱动来完成的,驱动这边自然就相当于桥接模式的实现部分。而桥接的方式,不再是让抽象部分持有实现部分,而是采用了类似...

2020-12-22 14:07:57 14544

原创 大话设计模式之爱你一万年:第九章 结构型模式:桥接模式:结婚发消息不是一件简单的事情:4.桥接模式总结

通过前面几节的介绍,想必大家对于桥接模式有了一定的了解。这一节我们在对于有些问题在深入的去了解下。一、桥接模式1.1 定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。 在上面的例子中就是将继承改成了组合的关系。1.2 什么是桥接 所谓桥接,通俗点说就是在不同的东西之间搭一个桥,让他们能够连接起来,可以相互通讯和使用。那么在桥接模式中到底是给什么东西来搭桥呢?就是为被分离了的抽象部分和实现部分来搭桥,比如前面示例中抽象的消息和具体消息发送之...

2020-12-22 14:07:20 14516

原创 大话设计模式之爱你一万年:第九章 结构型模式:桥接模式:结婚发消息不是一件简单的事情:3.桥接模式之消息发送

在上面我们对于桥接模式的定义有了一个基本的了解,接下来我们要重构我们之前的代码。一、消息发送4.0:桥接模式 接下来我们根据桥接模式的定义来进行编码,主要分为两大部分抽象部分和实现部分。我们看下最终完成的类图:1.1 实现接口(Implementor) 实现部分这里的例子中就是定义消息发送方式的一个接口即可,这里取名为MessageImplementor:package com.kfit.bridge.message.v4;/** * * Imple...

2020-12-22 14:05:13 14482 1

原创 大话设计模式之爱你一万年:第九章 结构型模式:桥接模式:结婚发消息不是一件简单的事情:2.桥接模式基本概念

用来解决上述问题的一个合理的解决方案,就是使用桥接模式(Bridge)。那么什么是桥接模式呢?一、桥接(Bridge)模式基本概念1.1 定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。 在上面的例子中我们之前分析了有两个维度:发送消息的方式和消息的类型。 发送消息的方式:就是微信、手机短信、邮件。 消息的类型:普通消息,加急消息、特急消息。 那么这里的话,抽象部分实现部分是什么呢?消息发送的核心功能就是发送消息了,所以实...

2020-12-21 21:04:41 14506

原创 大话设计模式之爱你一万年:第九章 结构型模式:桥接模式:结婚发消息不是一件简单的事情:1.无桥接模式之消息发送

说在前面的话:桥接模式(Bridge)会比较绕,所以我们打算换一种讲解方式,从一个例子从而引出桥接模式。 设计模式学到最后,看起来既像这个,又像那个,不要在意这心,设计模式的核心是提升代码的扩展性,如果达到了这点,又何必在于是什么设计模式呢。一、场景问题1.1 故事场景经过多年爱情的经营,我和女朋友终于走到了婚姻的殿堂。 结婚是一件开心的事情,但事情也特别多和杂…. 这不…. 我女朋友又找我来了…女朋友:亲爱的,你看下我整理了下名单。你给他们发送下信...

2020-12-21 21:01:14 14502

原创 大话设计模式之爱你一万年:第八章 结构型模式:外观(门面)模式:冬天有你不再寒冷:3.外观模式在Spring框架和SLF4J中的应用

这一节我们看看外观模式在Spring框架和SLF4J中的应用:一、Spring中的应用1.1 Spring JDBC中的JdbcUtils Spring JDBC中的JdbcUtils对原生的JDBC进行封装,让调用者统一访问。二、SLF4J中的应用 其中Log4j、Logback都是日志框架,它们都有着自己的独立的Api接口。如果单独使用某个框架,会大大增加系统的耦合性。而SLF4J并不是真正的日志框架,它有一套通用的API接口。所以阿里开发...

2020-12-21 20:55:53 14581

springloaded-1.2.8.RELEASE

spring boot热部署之springloaded

2021-04-20

activiti-designer-5.18.0.zip

Activiti Eclipse Designer离线安装包,版本activiti-designer-5.18.0;上传时间2020.08.26

2020-08-26

activiti-6.0.0

activiti-6.0.0 , 2020年8月21日从官网下载,官网下载数据太慢了,可以从这里直接下载,最新的建议从官网直接下载。

2020-08-22

seata-server-1.0.0.zip

github下载太慢的话,可以从这里进行下载。 seata-server-1.0.0版本,下载完成之后,可以直接运行bin文件,就可以进行启动了。

2020-04-16

3-4.基于内存.zip

spring boot + spring security - 基本内存的代码,用于专栏的资源。用于专栏的资源。

2020-03-02

rocketmq-console-ng-201903.jar

RocketMQ 控制台2019-03 发布的可执行jar文件,直接使用:java -jar rocketmq-console-ng-201903.jar --server.port=8080 --rocketmq.config.namesrvAddr=127.0.0.1:9876 即可启动运行。启动成功访问地址:http://127.0.0.1:8080

2019-11-28

seata-server-0.7.1.zip

seata-server-0.7.1 , 由于github下载速度慢,所以提供下载, 有需要的可以直接下载。

2019-11-17

seata-server-0.9.0.zip

seata-server 0.9.0版本下载,github下载太慢的话,可以从这里进行下载,截止到2019.11.15的最新版本。

2019-11-15

txlcn-tm-5.0.2.RELEASE.zip

txlcn-tm-5.0.2.RELEASE可执行jar,包含了配置文件,依赖的jar文件,可执行jar文件,源码,执行命令:java -jar txlcn-tm-5.0.2.RELEASE.jar

2019-05-20

从零开始学Spring Boot

从零开始学Spring Boot,没有积分的可以看博客:http://412887952-qq-com.iteye.com/ 【Spring Boot 系列博客】 0)前言【从零开始学Spring Boot】 : http://412887952-qq-com.iteye.com/blog/2291496 (1)spring boot起步之Hello World【从零开始学Spring Boot】: http://412887952-qq-com.iteye.com/blog/2291500 (2)Spring Boot返回json数据【从零开始学Spring Boot】 http://412887952-qq-com.iteye.com/blog/2291508 (15)Spring Boot使用Druid和监控配置【从零开始学Spring Boot】 http://412887952-qq-com.iteye.com/blog/2292362 16)Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】 http://412887952-qq-com.iteye.com/blogs/2292376 (17)Spring Boot普通类调用bean【从零开始学Spring Boot】: http://412887952-qq-com.iteye.com/blog/2292388 ...... (35)Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】 http://412887952-qq-com.iteye.com/blog/2294942 更多查看博客:http://412887952-qq-com.iteye.com/

2016-05-21

飘雪 圣诞祝福小程序

飘雪 圣诞祝福小程序

2011-08-05

mysql数据库总结

mysql数据库总结 登陆密码是:qianqian

2011-03-07

改变文件夹皮肤的颜色软件

改变文件夹皮肤的颜色软件,任意选择自己喜欢的颜色

2011-01-31

HTML_to_Servlet转换器\HTML_to_Servlet转换器

用java编写的将html文件转换为servlet文件的工具

2010-09-08

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

TA关注的人

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