首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式活用
秋夜无霜
创建于2021-05-10
订阅专栏
设计模式活用
等 1 人订阅
共9篇文章
创建于2021-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
基于模板方法+协调者委托对现有冗余代码的改造案例
基于模板方法+协调者委托对现有冗余代码的改造案例,改造一个现有臃肿的service实现类,通过该案例,使得认识到良好的代码设计是符合开闭原则的,更重要的时候,代码看起来很更优美,更清爽。
Forest源码探析
Forest 是一个开源的 Java HTTP 客户端框架,本篇通过分析其源代码,列出了相关重要组件类,并最终通过一个流程图,分析其整个编码实现,以分享给大家。
【设计模式活用】之代码重构之DAO扮演多个职责的重构案例
共同之处,就是查询共同表 ca_app_info,或者操作共同Hibernate对象VCaAppInfo。 不同之处体现如下方面:1、包含HQL和SQL查询 。2、where条件不同(为了过滤数据以及根据页面表单条件动态判断拼加成一个StringBuffer对象(即SQL/HQ…
【设计模式活用】之适配器、中介者、简单工厂、享元模式的示例应用
GpsDeviceApprove:接口,提供对老代码调用的兼容,包含了两个业务场景调用,单一调用和批量查询。 AbstractGpsApproveAdapter:实现了上述接口,并提供了一个抽象方法call(),由子类去实现,同时提供了一个dingTalk()方法,实现钉钉通知…
【设计模式活用】之一个榨汁机应用场景示例
该抽象类AbstractFruit派生两个子类,Apple和Banana,对于派生的其他水果,只需继承这个抽象类即可。AbstractFruit包括name、color、weight属性 这里我们通过一个枚举定义,指定不同水果配置比例,后期扩展时,只需要添加枚举成员即可。 上下…
【设计模式活用】之switch case重构案例精讲
1、每个方法中都存在类似的行为操作,查数据==>转换数据==>封装数据==>绑定标签==>装载返回Result对象。 2、每一次增加一种case场景,都要对现有代码修改,不符合“开闭原则”。 3、每一种case场景,都有冗余的代码,不符合“DRY原则"(Don't Repe…
【设计模式活用】之基于google guava和redis的一二级缓存设计实现
为了减少对Redis耦合依赖,以进一步减少网络调用,通常又会引入一级缓存,这样一二级缓存双保险可以避免缓存击穿而带来数据库QPS瓶颈而带来的灾难。而本文采用基于google guava(一级缓存)/
【设计模式活用】之接口改造案例的设计思路(代理、适配器、工厂、模板方法)
下图是目前controller层的相关接口清单,这是本次重构的接口清单一部分。 facade层包装了相关对接service层数据查询、转换等业务逻辑处理细节。 上述代码只是几个接口业务逻辑处理的其中一个代码片段,其他接口跟这个接口大同小异。只是相关查询依赖的service接口不…
【设计模式活用】之工厂方法模式的几种实现方式
菜鸟最近出去面试,发现有的面试官就问设计模式(就比如我就会经常问到,O(∩_∩)O哈哈~),菜鸟呢就听过几个常用的设计模式(什么单例啦,工厂啦)。这时,菜鸟就找到大神请教一番。 “设计模式都是前辈积累的经验,对于写出扩展性的代码起到良好作用。有了设计模式,我们才能写出优雅的代码…