设计模式
文章平均质量分 53
个人总结
W_Meng_H
希望是本无所谓有,无所谓无的!
这正如地上的路,其实地上本没有路,走的人多了,也便成了路!
展开
-
设计模式-桥接模式
Override。原创 2024-09-08 13:21:37 · 1086 阅读 · 0 评论 -
设计模式-适配器模式
适配器UML类图:Adaptee角色:被适配角色 (UserService)Adapter角色:适配器角色(LoginAdapter)Target角色:目标角色(Login3rdTarget)原创 2024-05-19 22:01:59 · 442 阅读 · 0 评论 -
设计模式的原则与分类
单一职责原则是接口隔离原则的基础,单一职责原则注重职责的划分,从职责角度进行类和接口的划分;迪米特法则 又叫做最少知道原则,一个类对于其他类知道得越少越好,简单来说就是只暴露方法入口,而实现细节不需要暴露给调用者。如果要修改一个功能,不是直接进行内部的代码修改,而是使用扩展的方式进行。结构型模式,更加注重类或对象的结合方式,将类或对象进行结合,形成一个更大的结构,在该结构下,不同的组件扮演不同的角色。一个类只需要负责一种职责即可,一个类发生变化的原因,必然是所负责的职责发生变化。原创 2024-04-30 23:00:45 · 670 阅读 · 1 评论 -
设计模式-代理模式
代理模式代理模式,旨在代理某个对象的职责,并且可以在职责代理过程中,新增其他辅助方法,代理模式也叫作委托模式。原创 2024-03-09 11:58:00 · 774 阅读 · 0 评论 -
设计模式-观察者模式
定义观察者的职责方法,观察者的职责是什么,当观察者接收到被观察者的通知后,会展开一系列的处理逻辑,因此需要定义观察者的职责方法。该类负责定义用于通知观察者的方法(被观察者,是自愿被观察的,会主动通知观察者进行相关操作),并且能够动态地增加、移除观察者。具体被观察者,实现通知观察者的具体方法逻辑。具体观察者,实现观察者职责方法的代码逻辑。三、创建抽象被观察者。四、创建具体被观察者。原创 2024-03-09 08:55:39 · 679 阅读 · 0 评论 -
设计模式-策略模式
ConcreteStrategy具体策略类:不同的策略需要创建不同的策略类,并且实现抽象策略类定义的方法。Context上下文角色:关联抽象策略类,并调佣策略类的方法。Strategy抽象策略角色:该角色主要进行策略方法的定义。三、Context上下文角色类。原创 2024-01-27 21:45:54 · 1025 阅读 · 0 评论 -
设计模式-工厂模式
工厂模式,主要是对象的创建,提供了一种创建对象的方式,而无需指定要创建的具体类。以支付举例,我们要实现接入微信和支付宝支付。原创 2024-01-27 11:54:20 · 551 阅读 · 0 评论 -
设计模式-过滤器模式(使用案例)
网关作为流量的入口,常用的功能包括路由转发、权限校验、限流等Spring Cloud 是Spring官方推出的第二代网关框架,由WebFlux+Netty+Reactor实现的响应式的API网关,它不能在传统的servlet容器工作,也不能构建war包。过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。此类为gateway网关需要,只展示使用过滤链的代码块。原创 2023-08-18 16:51:16 · 1222 阅读 · 0 评论 -
设计模式-Map+函数式接口-策略模式-模板
如果有很多if else判断,需要封装参数等场景,可以使用此方式减少if else。原创 2022-03-30 19:40:31 · 2105 阅读 · 0 评论 -
设计模式-工厂模式(统一获取枚举类)
目录一、引入jar二、公用接口三、自定义枚举类四、枚举工厂类五、获取所有的枚举类参数项目开发时,我们会写很多枚举类,有的是后端自己使用,有的给前端当做字典使用。可以通过此工具包统一获取:org.apache.commons:commons-lang3一、引入jarmaven:<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><depen原创 2022-03-30 20:03:16 · 3044 阅读 · 0 评论 -
设计模式-策略模式
根据java的设计原则,我们应该对修改关闭,对扩展开放。所以我们需要尽可能不对源代码进行修改。对于上面的Cat类,我们想按照weight进行排序,如果之后我们想根据height进行排序呢?所以我们定义自己的Comparable,使用泛型控制传入参数的类型。public interface Comparator<T> { int compare(T o1,T o2);}public class Sorter<T> { public void so转载 2021-03-14 10:12:42 · 296 阅读 · 0 评论 -
设计模式-单例模式
感谢马老师分享:https://github.com/bjmashibing/DesignPatterns一、饿汉式/** * 饿汉式 * 类加载到内存后,就实例化一个单例,JVM保证线程安全 * 简单实用,推荐使用! * 唯一缺点:不管用到与否,类装载时就完成实例化 */public class Mgr01 { private static final Mgr01 INSTANCE = new Mgr01(); private Mgr01() {}; .翻译 2021-01-03 16:41:55 · 284 阅读 · 0 评论