设计模式
文章平均质量分 65
浮生若梦flw
这个作者很懒,什么都没留下…
展开
-
LiteFlow 流程引擎
流程编排原创 2022-08-28 23:57:44 · 1456 阅读 · 0 评论 -
装饰者设计模式在业务中的实践
装饰者设计模式在业务中的实践 装饰者设计模式在顾名思义就是在原来逻辑上进行一层装饰逻辑,从而实现不通过if-else实现对优雅的对基础逻辑的扩充。在JDK源码中的InputStream中就有使用了装饰者的设计模式。从而实现通过BufferedInputStream、DataInputStream等其他修饰InputStream,增加了缓存读取、类型读取等功能,相当于InputStream之上加了很多修饰功能,在所以它是一个装饰器模式。这里inputStream作为一个被装饰的类,然后Buffer原创 2022-01-16 23:27:41 · 146 阅读 · 0 评论 -
发布订阅模式的最佳实践-guava的EventBus
发布订阅模式的最佳实践-guava的EventBus一:背景 项目中大量有例如发送短信,记录日志的一些业务逻辑,这些业务逻辑,不属于业务逻辑的一部分,不应该耦合到业务逻辑中。在这种场景下,发布订阅模式就可以解耦这种情况。 在google的guava组件中有一种EventBus的发布订阅模式的组件。我们可以借用这种组件实践发布订阅模式。二:实现DEMO 我们基于Springboot,和guava实现简单的发布订阅模式。定义一个IObserver的接口,所有观察者都需要实现这个接口。原创 2021-09-27 21:35:22 · 1095 阅读 · 0 评论 -
【设计模式】基于spring特性的责任链模式
【设计模式】基于spring特性的责任链模式业务场景:业务场景:开发中,需要对返回进行一系列的策略过滤,直接在一个方法中进行,代码比较长,耦合也是比较深。所以用责任链的模式进行解耦,同时可以动态配置责任链,实现动态拔插。设计:定义一个过滤链接口:public interface IFilterChain<ReqT,repD> { void doFilter(ReqT req, repD rep);}实现接口:这就是一个过滤链的对象public class Linke原创 2021-03-14 16:52:25 · 304 阅读 · 0 评论 -
设计模式之-策略模式
设计模式之-策略模式 开发中经常碰到很多同一入口,但是不同场景的业务需求,很多人都是if-else一把梭。这样开发是简单,但是代码很丑,业务耦合严重。也很不利于后期代码的维护,久而久之,代码就变成了"屎山",无人敢动。 测试模式就是可以解决少写if-else,让业务解耦,便于业务的拓展,逻辑也更加清晰。 下面介绍两种测试模式写法。这种都是基于spring的,直接可以拿来用。 业务背景:要实现支持第三方登录,目前需要支持以下三种登录方式:微信登录QQ 登录微博登录一:创建基础类原创 2021-02-01 22:41:32 · 120 阅读 · 0 评论