随笔分类 -  设计模式

摘要:备忘录模式的核心思想是将对象的状态保存在一个独立的对象中,这样既能保持对象的封装性,又能方便地恢复对象到之前的状态。 阅读全文
posted @ 2025-02-11 22:50 烟沙九洲 阅读(138) 评论(0) 推荐(2) 编辑
摘要:中介者模式的目的是把多方会谈变成双方会谈,从而实现多方的松耦合。用一个中介对象来封装一系列的对象交互。这样,系统中的各个对象不直接互相引用,而是通过中介者进行交互,从而降低了系统的耦合度。 阅读全文
posted @ 2025-02-06 23:35 烟沙九洲 阅读(242) 评论(0) 推荐(1) 编辑
摘要:迭代器就是提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式的主要思想是将集合的遍历行为抽取为单独的迭代器对象。 阅读全文
posted @ 2025-01-16 23:45 烟沙九洲 阅读(163) 评论(0) 推荐(1) 编辑
摘要:解释器模式为特定的语言定义文法(文法就是语法、规则的意思),并提供一个解释器来解析输入的语言(通常是字符串或符号序列)并执行相应的操作。解释器模式适用于需要处理复杂语法的场景,常见于编程语言的解释器、表达式计算器、配置文件解析等。 阅读全文
posted @ 2025-01-06 23:29 烟沙九洲 阅读(163) 评论(0) 推荐(2) 编辑
摘要:命令模式把请求或者命令封装成一个对象,从而让我们可以使用不同的请求、队列或日志请求、以及支持可撤销的操作等功能。 阅读全文
posted @ 2024-12-25 23:36 烟沙九洲 阅读(238) 评论(0) 推荐(0) 编辑
摘要:责任链模式是一种处理请求的模式,它让多个处理器都有机会处理该请求,直到其中某个处理成功为止。每个处理器都包含对下一个处理器的引用,从而形成链式结构。责任链模式把多个处理器串成链,然后让请求在链上进行传递。 阅读全文
posted @ 2024-12-18 22:53 烟沙九洲 阅读(349) 评论(2) 推荐(2) 编辑
摘要:代理模式通过封装一个已有接口,让调用方在不改变任何代码的前提下增强某些功能。 阅读全文
posted @ 2024-12-11 23:39 烟沙九洲 阅读(205) 评论(0) 推荐(0) 编辑
摘要:享元模式旨在有效共享对象,避免重复创建相同内容的对象,减少内存开销,让你能在有限的内存中载入更多对象。 阅读全文
posted @ 2024-12-04 23:19 烟沙九洲 阅读(310) 评论(0) 推荐(2) 编辑
摘要:外观(Facade、门面)模式属于结构型模式的一种。 外观模式给客户端提供一个统一入口,并对外屏蔽内部子系统的调用细节。 外观模式通过为一组复杂的接口提供一个统一的高层接口,使得客户端与子系统之间的交互变得更加简单。外观模式旨在将客户端与多个复杂子系统的交互进行解耦,客户端无需了解子系统的内部实现细 阅读全文
posted @ 2024-11-27 23:46 烟沙九洲 阅读(22) 评论(0) 推荐(0) 编辑
摘要:装饰器(Decorator、Wrapper)模式属于结构型模式的一种。 装饰器模式是动态地给一个对象添加一些额外的职责。 装饰器模式的目的就是把一个一个的附加功能,给一层一层地累加在原始类上。 装饰器模式通常用于系统需要在运行时增加功能的场景,同时避免子类化和扩展原有类的复杂性。 装饰器本身可以继续 阅读全文
posted @ 2024-11-27 20:52 烟沙九洲 阅读(22) 评论(0) 推荐(0) 编辑
摘要:组合模式(Composite模式)属于结构型模式的一种。 组合模式将对象组合成树形结构以表示部分-整体的层次结构。通过组合模式,可以统一处理单个对象和对象集合,简化了对复杂树形结构的操作。 组合模式适用于需要将对象以树形结构组织的场景。文件系统中的文件和文件夹就是一个典型的使用场景。文件可以看作是叶 阅读全文
posted @ 2024-11-27 20:49 烟沙九洲 阅读(15) 评论(0) 推荐(0) 编辑
摘要:桥接模式属于结构型模式的一种。 桥接模式的定义颇为玄乎。其主要目的是将抽象部分与实现部分分离,使它们可以独立变化。简单地来说,桥接模式通过引入一个抽象层和具体实现层之间的桥梁,来减少二者之间的耦合度。 桥接模式是为了避免直接继承带来的子类爆炸。 桥接模式通过分离一个抽象接口和它的实现部分,使得设计可 阅读全文
posted @ 2024-11-27 20:46 烟沙九洲 阅读(27) 评论(0) 推荐(0) 编辑
摘要:适配器模式(Adapter模式)属于结构型模式的一种。 将一个类的接口转换成我们希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,就是适配器。适配器模式旨在解决不同接口之间的兼容性问题。 现在很多笔记本电脑有Type-C的接口,但是你的U盘插不上Type-C的接口,网上很 阅读全文
posted @ 2024-11-27 20:43 烟沙九洲 阅读(24) 评论(0) 推荐(0) 编辑
摘要:原型模式(克隆模式、Clone模式)属于创建型模式的一种。 原型模式的本质是拷贝原型来创建新的对象,需要批量创建新对象且都是同一个类的对象的时候可以考虑使用原型模式。我们在日常开发中使用的 BeanUtils.copyProperties(),就是原型模式的一种用法。说到拷贝,就要说到深拷贝、浅拷贝 阅读全文
posted @ 2024-11-27 20:41 烟沙九洲 阅读(24) 评论(0) 推荐(0) 编辑
摘要:生成器模式(建造者模式、Builder模式)属于创建型模式的一种。 使用生成器模式,一般来说,是因为创建对象步骤较多,每个步骤都需要一个零部件,最终组合成一个完整的对象。尤其适合用于创建那些参数多、构建步骤复杂的对象。 生成器模式可以使用相同的创建代码生成不同类型和形式的对象。 我们使用Lombok 阅读全文
posted @ 2024-11-27 20:31 烟沙九洲 阅读(38) 评论(0) 推荐(0) 编辑
摘要:抽象工厂模式是一个稍微复杂的创建型模式。 抽象工厂模式是工厂模式的进阶版,提供更高层次的抽象,在创建产品时避免直接依赖具体的类。有点类似于多个供应商负责提供一系列类型的产品。 抽象工厂模式实现的关键点是定义工厂接口和产品接口,但如何实现工厂与产品本身留给具体的子类实现,客户端只和抽象工厂与抽象产品打 阅读全文
posted @ 2024-11-26 16:02 烟沙九洲 阅读(20) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式属于创建型模式的一种。 工厂方法模式通过一个工厂方法来决定实例化哪个类对象,而不是直接在代码中使用 new 来创建对象。这样可以将对象的创建和使用分离,增加代码的灵活性和可维护性。定义一个接口或抽象类,用于声明创建对象的方法,而具体的子类负责实现这个方法并返回相应的对象。这样,客户端代码 阅读全文
posted @ 2024-11-26 16:01 烟沙九洲 阅读(14) 评论(0) 推荐(0) 编辑
摘要:单例模式属于创建型模式的一种。 单例模式是为了保证一个程序的运行期间,某个类有且只有一个全局唯一实例。在框架中,我们一般会通过约定的方式,把普通类视为单例,比如使用@Component注解的类。那如果有面试官问,在项目中哪些地方有使用到单例模式,那你可以回答,按约定来说,controller层、se 阅读全文
posted @ 2024-11-26 16:00 烟沙九洲 阅读(9) 评论(0) 推荐(0) 编辑
摘要:设计模式总共有23种。 按大类来分,分为创建型模式、结构型模式、行为型模式。 按小类来分, 创建型模式:工厂方法、抽象工厂、建造者、原型、单例; 结构型模式:适配器、桥接、组合、装饰器、外观、享元、代理; 行为型模式:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法、访问者。 阅读全文
posted @ 2024-11-26 15:57 烟沙九洲 阅读(14) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示