设计模式
JAVA菜鸟程序员
不要在该奋斗的年纪选择了安逸,只有度过了一段连自己都被感动的日子,才会变成那个最好的自己。
展开
-
Java设计模式-策略模式
介绍策略模式的思想是提取算法或者行为,对算法或者策略进行封装成类,并装配到一个环境类(context)上,使得环境类可以使用不同的算法或者策略来解决不同的问题。策略模式是一种行为型设计模式。这种设计模式解决的是硬编码场景中的算法扩展问题。针对某一个场景,可能存在多个算法来进行处理。这多个算法,可能是写在一个工具类的不同的方法中,也有可能是写在一个方法中根据不同的条件进行if-else的选择...转载 2020-01-10 16:08:13 · 168 阅读 · 0 评论 -
JAVA设计模式-观察者模式
1、初步认识观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。2、这个模式的结构图3、可以看到,该模式包含四个角色抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,...转载 2020-01-10 14:57:23 · 123 阅读 · 0 评论 -
Java设计模式-单例设计模式
在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过。我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以这篇文章对单例模式做了详解。一、单例模式定义:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象...原创 2019-12-28 10:18:20 · 127 阅读 · 0 评论 -
java设计模式-工厂方法模式
抛出问题在学习设计模式的时候,我们首先要明白该设计模式能解决什么问题,在什么应用场景下是最优的,这样我们才会学以致用,避免出现为了设计而设计的情况。所以我也就啰嗦一下,一步一步的用简单工厂模式去抛出问题,更好的让大家明白为什么要使用工厂方法模式。今天我们举一个文件分割器的例子业务需求:分割图片、文本等格式的文件的工具我们先用简单工厂模式写//定义分割器的接口public in...原创 2019-12-25 16:51:42 · 156 阅读 · 0 评论 -
设计模式总结(Java)—— 装饰模式
参考文章:https://blog.csdn.net/android_zyf/article/details/68343953一,什么时候使用装饰者模式?比如有一家店卖饮品,饮品就有不少种,每一种还可以加项,比如给可乐加冰,加糖,兑水什么的,每次加项的价格还不同,就会将代码弄的很繁琐,这种情况下就可以使用装饰者模式来实现. 二,什么是装饰者模式?上述的例子中,可以以饮品为主体,用不...转载 2018-07-23 11:11:18 · 185 阅读 · 0 评论 -
设计模式总结(Java)—— 观察者模式
转载地址:https://www.cnblogs.com/renhui/p/6479748.html概述它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需要增加和删除观察者,使得系统更易于...转载 2018-07-20 15:13:37 · 165 阅读 · 0 评论 -
设计模式总结(Java)—— 适配器
出处地址:http://www.cnblogs.com/V1haoge/p/6479118.html 适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。 适配器模式有两种:类适配器、对象适配器、接口适配器 前二者在实现上有些许区别,作用一样,第三个接口适配器差别较大。1、类适配器模式:...转载 2018-07-23 08:23:53 · 127 阅读 · 0 评论 -
设计模式--策略设计模式
策略设计模式其实就是多态的使用,父类引用指向子类对象。策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。策略模式的缺点其实也很明显,在于策略模式把每一种具体的策略都封装成一个实现类,如果策略有很多的话,很显然是实现类就会导致过多,显得臃肿。案列:/** * @author dengchao * @Description: 策略角色 *...原创 2019-03-27 17:32:55 · 171 阅读 · 0 评论