
设计模式
文章平均质量分 82
keYuK0
永远保持好奇心和深入探究的精神,它是我们不断进步的核心驱动力
展开
-
设计模式之策略模式
概念 定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。一提到策略模式,有人就觉得,它的作用是避免 if-else 分支判断逻辑。实际上,这种认识是很片面的。策略模式主要的作用还是解耦策略的定义、创建和使用,控制代码的复杂度,让每个部分都不至于过于复杂、代码量过多。除此之外,对于复杂代码来说,策略模式还能让其满足开闭原则,添加新策略的时候,最小化、集中化代码改动,减少引入 bug 的风险。关键点:定义原创 2021-09-17 21:20:49 · 292 阅读 · 0 评论 -
设计模式之模板模式
概念 模板方法模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。 当项目中出现流程长,但由于在不同场景下具体的实现不同,那么就可以定义算法骨架,即不同场景下共有的逻辑,在需要不同实现的位置抽象为方法,由子类去实现。模板设计模式解决问题的是,复用 与 扩展。好处:代码复用,减少重复代码。除了子类要实现的特定方法,其他方法及方法调用顺序都在父类中预先写好了。使用方式关键点:定义算法骨架,抽象为父原创 2021-09-17 21:18:46 · 196 阅读 · 0 评论 -
设计模式之代理模式的应用
这是我参与 8 月更文挑战的第2天,活动详情查看: 8月更文挑战代理模式的应用 前面简单介绍了下代理模式在 Java 中的三种不同使用方式。下面来介绍一个demo项目来加深理解代理模式的原理,方便更好的使用在多变的实际项目中。项目背景 由于项目中会需要进行入参日志打印、处理结果打印、权限控制等业务逻辑处理,而这些业务逻辑功能又是多变的,如果都将这些业务逻辑放在主要逻辑之中,那么随着时间的增加,代码会越来越杂。为了降低代码的耦合度,提高代码逻辑辨识。可以使用代理模式去抽离业务逻辑,将业原创 2021-08-16 22:12:18 · 287 阅读 · 0 评论 -
设计模式之代理模式的三种实现方式
概念为其他对象提供一种代理以控制对这个对象的访问。在Java中代理模式的实现大概可分为三种:静态代理、动态代理、CGlib代理。1. 静态代理静态代理,代理类和被代理类(也即目标对象)需实现同一个接口,保证外部调用知道是哪个接口。代理类中维护目标对象,在方法里执行目标对象的方法。缺点是,需要为每一个目标对象都构建一个代理类,目标对象数量多的话则代理类也多。关键点:代理类需实现和目标对象同一个接口;接口,代理类和被代理类需要共同实现的接口public interface Demo原创 2021-08-15 12:22:27 · 789 阅读 · 0 评论