![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java23钟设计模式
阳阳雨季
服务器维护与开发
展开
-
设计模式之建造者模式
对于建造者模式来说,它解决的问题其实和工厂模式有点类似,但不同的地方是,工厂模式在创建对象的时候,如果固定死创建对象时功能的顺序,那就无法应对,对象的功能的顺序变化。 比如:我们在建造房子的时候,框架基本就是:打地基,垒墙,上定,,外墙,防水等等。基本的情况下,我们可以按照一个顺序来。但是,在现实中,建造过程中,一个建造团队会包揽很多的工程,加上天气原因,对于不同的房...原创 2018-06-04 17:25:12 · 111 阅读 · 0 评论 -
设计模式之原型模式
在程序的运行过程中,我们总是会遇到这样的情况,我们会根据数据库查询出来的集合在用单个的类进行业务逻辑的操作,这个时候我们会new出很多的对象进行处理。虽然这样能解决问题,但是他也带来了效率低的问题,因为创建对象是很消耗cpu资源,而cpu资源是很宝贵的,为了解决这个问题,以及需要复制对象,我们就用到了原型模式。 原型模式,顾名思义就是用已经创造好的复制一份出来。 ...原创 2018-06-05 11:02:49 · 92 阅读 · 0 评论 -
设计模式的初探--工厂模式
首先,对于一个新的事物,新技术点,我的思维导向通常是:Why-How-What 黄金圈理论,所以,对于设计模式,首先什么是设计模式,我首先查询了维基百科,给出的定义是:是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。咋一看这个解释也是很模糊,个人觉得,在软件工程里面,设计模式原创 2018-05-29 14:13:24 · 182 阅读 · 0 评论 -
设计模式之策略模式
说起策略模式,简单的几句话就是利用java的继承和多态实现的。就是一个接口,有自己的实现,在提供一个策略类去选择那个实现去完成任务。 比如:最近在写rocketmq的时候,对于生产中有几种类型,第一种简单发送,第二种顺序发送,第三种事务发送消息,这个时候我们就可用到策略模式去实现这个功能。而策略模式和工厂模式差不多,我们在纠结用工厂还是策略模式的时候,我觉得最重要的一...原创 2018-06-06 10:44:11 · 110 阅读 · 0 评论 -
设计模式之装饰器模式
上一篇写了关于工厂模式的博客,最后抛出了一个小问题,产品需求永远在变动,所以说用工厂方法就会有一定的局限性,接下来我们看下装饰器模式是如何解决这个问题的。 装饰器模式,听名称就是要修饰已经好的对象。比如:对于建造车,开始的时候造车是很简单的,可能有很多功能不完善,但是那个时候能造出跑的车已经是科技的很大进步了,可能开始的时候车没有空调,定时巡航,电子手刹等等,但是基本...原创 2018-06-01 11:00:56 · 440 阅读 · 0 评论 -
设计模式之模板模式
在设计模式中最简单理解的要数模板模式了,就是运用了java的继承这一特性。抽象类定义一系列的完成某种功能的方法,由子类按照自己的规则去实现。举个例子,在springmvc中我们经常写拦截器,其实他就是模板模式。在类开始做什么,过程中做什么,结束做什么,有时候我们只需要实现其中一个地方。是不是很简单。 类图:...原创 2018-06-08 11:42:28 · 160 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式,从字面上看,就是当触发一件事情的时候,会做出相应的对策。被观察者处在一个被监视的环境下。我们都知道卧底,就是一种抽象的观察者模式。然而我们的项目中也大量的用到观察者模式,比如:消息订阅,监听器。首先,观察者模式,需要有几个角色,被观察者,观察者,以及业务实现。 抽象一个观察类,被观察者类,目标类,需要实现观察者类,以及实现自己行为抽象类,执行者需要实现观察者类,当被观察者有行动,通过拿...原创 2018-07-02 15:56:54 · 156 阅读 · 0 评论