java设计模式
文章平均质量分 77
本专栏分享在学习和实施设计模式过程中的经验,提升自己对设计模式的理解,也希望对他人有所帮助
长不大的石头
这个作者很懒,什么都没留下…
展开
-
【设计模式】二十一.行为型模式之状态模式
状态模式通常描述一个类不同行为的多个状态变更,对象的行为依赖它的状态,它是一种行为型模式。状态模式可以用来消除代码中大量的if-else结构,它明确对象是有状态的、对象的不同状态对应的行为不一样、行为之间是可以切换的。简单来讲,就是对象的状态只允许在某个或某些行为下发生改变,否则不允许该行为操作对象状态。原创 2024-01-03 17:43:07 · 1241 阅读 · 0 评论 -
【设计模式】二十.行为型模式之观察者模式
观察者模式常用于对象间存在一对多关系时当一个对象被修改,需要自动通知它的依赖对象。这个对象就叫做被观察者,这些依赖对象就是它的观察者。它也是行为型模式的一种,也是发布/订阅模型。原创 2024-01-02 17:07:30 · 1188 阅读 · 0 评论 -
【设计模式】十九.行为型模式之备忘录模式
备忘录模式是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,方便后续将该对象恢复到原先保存的状态,它是行为型模式的一种。原创 2023-12-26 17:33:05 · 367 阅读 · 0 评论 -
【设计模式】十八.行为型模式之中介者模式
中介者模式主要是用来降低多个类之间的通信复杂度,它通过一个中介者类来处理多个类之间的通信,从而降低类与类之间的耦合度,使代码易于维护。中介者模式是行为型模式的一种。原创 2023-12-26 16:41:14 · 751 阅读 · 0 评论 -
【设计模式】十七.行为型模式之迭代器模式
迭代器模式主要用于迭代访问集合对象中的元素,而不用知道元素内部的结构状态。迭代器模式是属于行为型模式的一种。原创 2023-12-25 17:37:00 · 390 阅读 · 0 评论 -
【设计模式】十六.行为型模式之命令模式
命令模式将请求包装成对象,传递给调用者,调用者寻找可以处理该命令的合适的对象,该对象可以对请求排队或记录请求日志,以及可以修改和撤销的操作。命令模式是行为型模式的一种。原创 2023-12-25 16:41:09 · 344 阅读 · 0 评论 -
【设计模式】十五.行为型模式之责任链模式
责任链模式是一种行为型模式,它允许将请求沿着处理器链进行传递处理,处理器能处理则处理,处理不了的就让下一个处理器处理,直到处理成功或链完毕。这种模式可以将某个功能根据职责拆解开来,解耦处理器之间的关系。原创 2023-12-25 15:02:45 · 373 阅读 · 0 评论 -
【设计模式】十四.结构型模式之代理模式
代理模式主要是将类一个代理到另一个类上,从而让该类具备被代理类的功能和扩展其功能,是结构型模式的一种。目的就是为目标对象增强或扩展功能而不入侵目标对象本身。原创 2023-12-22 17:11:10 · 372 阅读 · 0 评论 -
【设计模式】十三.结构型模式之享元模式
享元模式主要是为了降低对象创建的数量,减少内存空间和提高性能,它是结构型模式的一种。当我们在大量创建创建对象时,可能会有内存溢出的风险,我们把对象中可以外部化的部分抽象出去,在再次需要使用对象时直接返回内存中的对象,以达到对象可以重复利用的目的。原创 2023-12-22 14:50:01 · 308 阅读 · 0 评论 -
【设计模式】十二.结构型模式之过滤器模式
过滤器模式顾名思义就是用来过滤的,是结构型模式的一种,也可以叫做Criteria Pattern。过滤器模式通过一系列条件来筛选出符合的对象。它将过滤逻辑封装在过滤器对象中,并通过组合这些过滤器来实现复杂的过滤条件。当需要根据条件筛选出需要的对象时,我们就可以使用过滤器模式。原创 2023-12-21 17:05:10 · 950 阅读 · 0 评论 -
【设计模式】十一.结构型模式之桥接模式
桥接模式将抽象部分与实现部分分离,使它们都可以独立地变化,他也是结构型模式的一种。桥接模式让实体类接入桥接的接口,使得实体类的功能独立于桥接接口实现类,这两种类型的类可被结构化改变而互不影响原创 2023-12-21 15:02:14 · 868 阅读 · 0 评论 -
【设计模式】十.结构型模式之组合模式
组合模式`将对象组合成树形结构来表示部分与整体的层次结构`,是结构型模式之一。组合模式使得我们对单个对象和组合对象的使用具有一致性。组合模式创建了一个包含自己对象组的类,该类提供了修改相同对象组的方式。原创 2023-12-20 17:40:30 · 855 阅读 · 0 评论 -
【设计模式】九.结构型模式之外观模式
外观模式又叫门面模式,是一种结构型模式。外观模式提供一个简单、统一、解耦的接口,使得客户端能够更加方便地访问和使用复杂的子系统,同时,它还能隔离变化,提高系统的可维护性和可扩展性。原创 2023-12-19 11:49:33 · 402 阅读 · 0 评论 -
【设计模式】八.结构型模式之装饰者模式
装饰者模式也是结构型模式之一,在使用上类似与套娃, 它是`给现有的类扩展一些其他功能,同时又不改变类原本的结构`。这看似子类继承也可以做到,但装饰者模式的实现更为独立,它不会入侵类与类之间的关系,装饰者和被装饰者不会相互耦合,独自分离。原创 2023-12-18 17:30:01 · 399 阅读 · 0 评论 -
【设计模式】七.结构型模式之适配器模式
适配器模式的主要作用就是把不兼容的接口通过适配修改转化成兼容的接口,方便我们统一调用。生活中像我们常见的电源适配器,统一的数据线分接头的例子都是使用了适配器去解决各种不兼容的场景。`当两个类所作的事情是类似或相同的,但具有不同的接口时,我们就可以使用适配器模式`,适配器模式使得在很多灵活变动的场景下我们可以分离变化的部分和不变的部分,变化的部分通过适配器转化成统一形式进行不变的逻辑处理。原创 2023-12-18 15:13:06 · 329 阅读 · 0 评论 -
【设计模式】六.创建型模式之建造者模式
建造者模式也是一种较少使用的创建型模式,官方的介绍是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。用白话文说就是可以将许多简单对象随意组合成不同复杂对象,复杂对象的构建过程是固定的,构建的组成部分却是可以随意组合的。这个模式在java开发中自己实现的场景并不多见,如果你使用过lombok,你就知道在用@Builder注解实体对象时,这就是一个建造者模式的应用。原创 2023-12-08 17:01:16 · 402 阅读 · 0 评论 -
【设计模式】五.创建型模式之原型模式
与单例模式相对的就是原型模式,原型模式是为了重复创建对象而产生的,同样也属于创建型模式。原型模式实现了一个原型接口,用于创建对象的克隆体,提高直接创建对象的性能,这种设计模式在平常开发中应用较少,在java中主要依赖jdk的Cloneable接口重写 clone()实现对象拷贝。原创 2023-12-08 10:38:56 · 385 阅读 · 0 评论 -
【设计模式】四.创建型模式之单例模式
单例模式是一种比较简单的创建型模式,它只允许一个类自己创建一个单一对象,并提供一个全局访问该对象的方式。原创 2023-12-07 17:51:54 · 310 阅读 · 0 评论 -
【设计模式】三.创建型模式之抽象工厂模式
设计模式通常情况下是多个模式组合使用,上述的例子只能用简单的话术表述抽象工厂的应用,更换了厂商工厂类,就更换了一些列产品。总的来说,只要切换具体工厂类,就可以更换一套产品系列的创建,抽象工厂就是将一些列产品族的创建过程延迟到子类进行,从而避免了在客户端中直接创建产品对象,以达到方便交换产品族或者产品系列。用户无须关心对象的创建过程,将对象的创建和使用解耦。原创 2023-12-07 17:51:17 · 369 阅读 · 0 评论 -
【设计模式】二.创建型模式之工厂模式
工厂模式提供了统一的接口用于创建不同的对象。简单工厂模式在工厂类提供了创建对象的方法,根据传入不同参数创建不同对象;工厂方法模式则是通过创建不同产品的生产工厂类来创建不同产品对象,使类的实例化延迟到了子类。原创 2023-12-07 17:49:01 · 368 阅读 · 0 评论 -
【设计模式】一.设计模式的四种类型和面向对象的七大原则
谁适合阅读此系列文章?学习设计模式,需要具有一定的软件开发经验。不推荐刚入门的新手学习,因为新手的目的是实现功能,无论代码写得多么糟糕。具备一定经验后,对自己以往写的代码不满意,想要去重构去优化代码时,才能体会到设计模式的重要性,也更能理解它。本系列文章将结合我学习和工作中实践经验来讲解各种模式的应用场景。设计模式(Design pattern)是软件编码的一种最佳实践,是软件重构的解决方案。它帮助我们在面向对象编程过程中解决一般性的问题,是软件开发过程中不断总结的方法。原创 2023-12-07 17:47:55 · 939 阅读 · 0 评论