
设计模式
设计模式个人总结
zhangSir134
不断思考,不断总结
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[设计模式] ------ 观察者模式和他的升级版发布订阅模式
观察者模式,发布订阅模式,最快理解原创 2020-03-26 22:36:49 · 7349 阅读 · 0 评论 -
[设计模式] ------ 建造者模式(对比模板模式)
建造者模式 建造者模式,是为了构建一类具有相同执行顺序的但实现不一样,最后产生不一样的东西的效果。 举个例子,比如写作文。 每次写作文,我们大致有写标题,写开头,写内容,写结尾这些步骤。 public abstract class Builder { abstract String 写标题(); abstract String 写开头(); abstract Stri...原创 2020-03-25 23:49:58 · 7656 阅读 · 0 评论 -
[设计模式] ------ 装饰模式
首先,假设项目有个核心功能。 随着项目迭代,又产生功能1和功能2 于是有如下需求: 某个场景需要核心功能和功能1组合, 某个场景需要核心功能和功能2组合, 某个场景需要核心功能和功能1和功能2组合, 甚至以后有了功能3,某个场景要核心功能和功能1和功能3组合。 那么这种情况,就要使用装饰模式,为已有核心功能按一定顺序动态增加其他功能。 使用装饰模式,优点在于区分核心功能和其他装饰功能。而且按照装饰...原创 2019-07-23 23:44:30 · 7274 阅读 · 0 评论 -
[设计模式] ------ 适配器模式
适配器把一个类的接口,强制变成另外一个类的接口实现。 个人建议,万不得已不要用适配器。 如果你的项目刚刚起步,就有人用了适配器,那基本上就是滥用。 适配器一般是项目庞大,接口已经对外提供出去,不好快速修改了,但由于特殊业务需要其他接口的实现,不得已才用的。 所以,适配器模式,能少用则少用,能不用则不用。 具体实现 假设有个类A,类中有方法aMethod; 再有个类B,类中有方法bMethod; 正...原创 2019-07-16 23:33:43 · 7201 阅读 · 0 评论 -
[设计模式] ------ 单例模式
单例模式,是众多设计模式中,写法最多,套路最多,坑最多,面试被问最多的设计模式。 基本上,单例模式在面试中已经被问烂了,依稀记得我的上家公司面试我的时候,说到设计模式,直接就说,写一种设计模式,但单例除外。 但不得不说,单例由于其概念简单,实用性广的特点,在项目中很是常见。 概念: 单例模式就是确保一个类只有一个实例的设计模式。 设计的思路无非就是先new一个实例,以后都用这个实例就行了。 难点在...原创 2019-07-08 20:55:56 · 7391 阅读 · 0 评论 -
[设计模式] ------ 模板模式
模板模式 模板模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤 一般是定义一个抽象类,有抽象方法,有骨架方法,骨架方法中会定义这几个抽象方法的调用顺序。 然后再定义多个实现类,继承这个抽象类,那么就得覆盖父类的抽象方法,那么每个实现类调用骨架方法,最终的结构就是按照父类中预先定义好的调用顺序,去调用自己实现的各个...原创 2018-12-28 00:16:23 · 8158 阅读 · 0 评论 -
[设计模式] ------ 策略模式实战:java中替代if-else的大段逻辑
java中用策略模式替代if-else的大段逻辑 问题: java本来是一门以面向对象为主的语言,但很多人嘴上说着java面向对象,然后除了表映射实体之外,其他的还是面向过程的思路。 就比如今天要说的,代码中大段大段的if-else判断,每个if-else代码块中又有很多复杂的逻辑,导致整个代码混乱不堪,让别人看到就感觉看到屎一样的代码一样。 那么,如何优雅的替代这些代码呢,其实有个设计模式(策略...原创 2019-09-23 11:35:49 · 9007 阅读 · 0 评论 -
[设计模式] ------ 策略模式
策略模式 它定义了算法家族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 其实很简单,可能很多人都用到了,只不过还不知道这就是策略模式而已。 比如定义一个接口A,下面有个方法叫a 类B1实现了这个方法,当然也要实现a方法,假如B1的a方法中打印了b1b1b1 类B2实现了这个方法,当然也要实现a方法,假如B2的a方法中打印了b2b2b2 类B3实现了这个方法,...原创 2018-12-27 23:20:17 · 7649 阅读 · 0 评论 -
[设计模式] ------ 简单工厂模式
简单工厂模式 不同类型下创建对应的不同的对象,得到不同的结果,就叫简单生产模式 比如 定义一个接口,叫A,里面有方法a,返回int类型 类B1实现A接口,也实现a方法,里面做的是加法运算 类B2实现A接口,也实现a方法,里面做的是减法运算 类B3实现A接口,也实现a方法,里面做的是乘法运算 类B4实现A接口,也实现a方法,里面做的是除法运算 定义一个类叫SimpleFactory,里面属性是A,有...原创 2018-12-27 23:42:35 · 7724 阅读 · 0 评论 -
[设计模式] ------ 代理模式
几句话讲明白代理模式 代理模式: 1.定义 个接口A,接口有个方法methodA(); 2.定义一个实现类B,实现这个接口A,并重写方法methodA(); 3.定义一个代理类C,也实现接口A,并将类B作为他的一个属性, 然后C也重写方法methodA();但方法的实现为B调用B中重写的方法 这样就是一个简单的代理模式,其中B和C实现了相同的接口,都重写了接口中的方法,但最终调...原创 2018-06-11 23:29:43 · 7552 阅读 · 0 评论