文章分类 -  设计模式

一图弄清类图关系
摘要:类关系展示: 类具体展示: 属性/方法名称前加的加号和减号表示了这个属性/方法的可见性,UML类图中表示可见性的符号: +:表示public -:表示private #:表示protected ~:表示 package 属性的完整表示方式是: 可见性 名称 :类型 [ = 缺省值]方法的完整表示方式 阅读全文
posted @ 2023-02-23 15:10 蔻德盈 阅读(134) 评论(0) 推荐(0)
模板模式
摘要:模板模式:完成一件事情有固定的工序,工序中有的环节是相同的可以共用,有的是个性化的,需要在延续的子类里实现个性化。 把规定的工序和工序中可共享的部分放到抽象类里,把需要个性化的部分声明为抽象方法,留给模板实现类里具体实现。 来举个例子: 比如我们做菜可以分为三个步骤 (1)备料 (2)具体做菜 (3 阅读全文
posted @ 2023-02-23 14:40 蔻德盈 阅读(17) 评论(0) 推荐(0)
责任链设计模式
摘要:责任链模式 顾名思义,就是链式的去处理一个请求或者任务,收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。 应用场景 一个请求需要多种类型的处理 各个处理之间,相对独立 需要指定多种处理的处理顺序 实际举例 打印日志的时候,我们可能定义了多个logger Netty在接收和 阅读全文
posted @ 2023-02-22 18:15 蔻德盈 阅读(18) 评论(0) 推荐(0)
享元模式
摘要:模式定义: 运用共享技术有效地支持大量细粒度的对象。 import java.util.HashMap; import java.util.Map; /** * @author * @Slogan 致敬大师,致敬未来的你 */ public class FlyweithtTest { public 阅读全文
posted @ 2023-02-21 10:57 蔻德盈 阅读(16) 评论(0) 推荐(0)
策略模式
摘要:模式定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式的变化独立于算法的使用者。 案例: 类图如下: 如上所示,类图中抽象类定义了 三个抽象方法,分别对应三个动作:移动,攻击,展示,两个策略属性:攻击策略,移动策略。在具体的实现类(NormalZombie,FlagZombie,Big 阅读全文
posted @ 2023-02-20 17:41 蔻德盈 阅读(28) 评论(0) 推荐(0)
设计原则
摘要:设计模式遵循六⼤原则 单⼀职责( Single-Responsibilitiy Principle(简称SRP)) 对一个类而言,应该仅有一个引起它变化的原因。 如果存在多于一个动机去改变一个类,那么这个类就具有多于一个的职责,就应该把多余的职责分离出去,再去创建一些类来完成每一个职责。 单一职责原 阅读全文
posted @ 2023-02-10 17:27 蔻德盈 阅读(51) 评论(0) 推荐(0)
工厂方法设计模式
摘要:文接简单工厂,我们知道,开闭原则指的是对修改关闭,对扩展开放,而工厂方法就是为了解决这个问题,它提供一个工厂抽象接口,每一种产品的生产都会有自己的工厂, 消费者从对应工厂获取产品即可,如果增加了一种产品,只需要增加对应的工厂即可,从而避免了修改,只是扩展。但是也会出现一个问题,那就是会出现大量的工厂 阅读全文
posted @ 2023-02-10 10:33 蔻德盈 阅读(20) 评论(0) 推荐(0)
简单工厂设计模式
摘要:工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式,用于创建复杂的对象创建,避免类的复杂创建和应用写在一个类里。 简单工厂:又称为静态工厂,属于类创建型模式,专门定义一个工厂来负责创建其他类的实例。在简单工厂模式中,可以根据参数的不同返回不同类的实例。 Factory:工厂类 阅读全文
posted @ 2023-02-10 10:20 蔻德盈 阅读(20) 评论(0) 推荐(0)
抽象工厂 设计模式
摘要:抽象⼯⼚模式,所要解决是⼀个产品族问题。这种场景在业务开发中也是⾮常多⻅的,只不过可能有时候没有将它们抽象出来。 可能代码被 if else埋上了,当我们知道在什么场景下可以用抽象工厂优化的时候,那么代码的层级结构可以被很好的完善,应对业务需求变化也提供良好的扩展性和优雅度。 抽象工厂模式:提供一个 阅读全文
posted @ 2023-02-09 19:38 蔻德盈 阅读(31) 评论(0) 推荐(0)
监听者设计模式
摘要:目录 前言 Spring Event 同步使用 Spring Event 异步使用 前言 实际业务开发过程中,业务逻辑可能非常复杂,核心业务 + N 个子业务。如果都放到一块儿去做,代码可能会很长,耦合度不断攀升, 维护起来也麻烦,甚至头疼。还有一些业务场景不需要在一次请求中同步完成,比如邮件发送、 阅读全文
posted @ 2022-07-15 09:20 蔻德盈 阅读(33) 评论(0) 推荐(0)