
设计模式
fastsy
这个作者很懒,什么都没留下…
展开
-
我的设计模式之旅-策略设计模式
先来说说为何我要学习设计模式,在上家公司工作期间,工作内容一般都是模块化,项目需要一个功能,我就添加一个功能,某一个功能需要改变,我就在代码上到处修改,这样就出现了一个问题,有些功能之前是有的,但现在不需要了,你就得手动去删除与之关联的代码;有些功能保留了,可有变化,你又得去手动修改与之关联的所有代码。这样不仅浪费时间,而且很容易造成bug。当时开发时,没少被老大批。想想还是因为自己编码知识停留在原创 2015-12-22 23:05:00 · 493 阅读 · 0 评论 -
我的设计模式之旅-builder建造者模式
何为builder模式当我们通过构造方法来创建一个类时,往往需要传入一些列参数,这本无可厚非,但如果这个类的构造参数较多,并且涉及到稍复杂的业务,而这些业务逻辑是由构造方法传入的参数按照一定的逻辑搭建起来的,这个时候我们如果直接通过构造函数来获取对象的话,就很难了解这一些列参数的意义了。因此,通过内部类Build来管理这一系列参数,并且由它来生成类对象。实例代码如下:public class Per原创 2017-12-20 14:53:32 · 281 阅读 · 0 评论 -
我的设计模式之旅-观察者模式
1.观察者(发布-订阅)模式定义在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新2.应用场景当多个对象需要及时获取对象A的状态时,通过A的订阅方法订阅它,然后当A状态发生变化时通过其通知方法通知到各个订阅它的对象。3.实现原理其基本实现原理是 接口回调。4.代码实例:定义观察者接口/** * 观察者 * @author huolala-sunyan...原创 2018-02-23 16:58:05 · 282 阅读 · 0 评论 -
我的设计模式之旅-责任链模式
一、什么是责任链模式?我的理解是:将请求处理者按链式排列,当发送一个请求时,请求会由链式入口访问,直到找到可以处理它的处理者为止。二、使用场景比如:对于公司的报销流程,当报销金额 < 1000 需要向组长申请;1000 < 5000需要向部门负责人申请; > 5000 则需要向总监申请。依次向上申请,且不能越级处理。如果申请金额为4000,则先开始向组长申请,然后组长向上申...原创 2019-06-27 17:19:31 · 202 阅读 · 0 评论