![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 90
设计模式学习
刘九灵
沉淀、分享、成长,让自己和他人都能有所收获
展开
-
设计模式之状态模式
【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能进行开门操作,而如果电梯门是停止状态,就可以执行开门操作。类图如下://电梯的4个状态//开门状态//关门状态//运行状态//停止状态//设置电梯的状态//电梯的动作@Override//执行关门动作@OverrideSystem.out.println("电梯关门了。。。");原创 2024-04-01 10:17:32 · 1137 阅读 · 0 评论 -
设计模式之建造者模式
1、要知道一点就是不使用设计模式照样可以进行软件的开发,以上的代码完全可以不使用建造者模式,可以直接使用构造函数或者setter方法进行注入,如果有注入的多种情况需要创建很多的构造方法,在使用中你要顾忌传入参数的顺序,以及setter方法的连续性等问题。2、文章最开始使用@lombok里使用的链式建造者模式是传统的建造者模式的改进,二者原理是相同的,只是链式建造者模式将Director直接交给了Client, 将建造者以静态内部类的形式构建在了产品里面。里面的一些注解,但是并没有去关注注解的实现。原创 2024-04-01 09:24:03 · 474 阅读 · 0 评论 -
设计模式之责任链模式
责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。责任链的使用场景还是比较多的:多条件流程判断:权限控制ERP 系统流程审批:总经理、人事经理、项目经理Java 过滤器的底层实现 Filter如果不使用该设计模式,那么当需求有所改变时,就会使得代码臃肿或者难以维护,例如下面的例子。原创 2024-04-01 00:41:17 · 574 阅读 · 0 评论 -
设计模式之模板方法模式详解
为了提高代码的复用性和系统的灵活性,可以使用一种称之为模板方法模式的设计模式来对这类情况进行设计,在模板方法模式中,将实现功能的每一个步骤所对应的方法称为基本方法 ,而调用这些基本方法同时定义基本方法的执行次序的方法称为模板方法。在模板方法模式中,由于面向对象的多态性,子类对象在运行时将覆盖父类对象,子类中定义的方法也将覆盖父类中定义的方法,因此程序在运行时,具体子类的基本方法将覆盖父类中定义的基本方法,子类的钩子方法也将覆盖父类的钩子方法,从而可以通过在子类中实现的钩子方法对父类方法的执行进行约束,原创 2024-03-31 23:50:32 · 674 阅读 · 0 评论 -
设计模式之策略模式详解
先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发,也可以使用eclipse进行开发,也可以使用其他的一些开发工具。在软件开发中,我们也常常会遇到类似的情况,实现某一个功能有多条途径,每一条途径对应一种算法,此时我们可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径。策略模式定义。原创 2024-03-31 23:18:58 · 956 阅读 · 0 评论