JAVA设计模式
文章平均质量分 66
专门介绍java中常见的设计模式以及项目中的使用场景和案列
IT美男子
知道的越多,不知道的越多。。。
展开
-
JAVA设计模式(十一)——访问者模式
访问者模式介绍及案例演示原创 2022-08-29 11:41:59 · 214 阅读 · 0 评论 -
JAVA设计模式(十)——装饰模式
下图为所有设计模式,带标记为重点掌握以及工作中常用到的:装饰模式属于结构型模式之一,其作用是向一个现有的对象添加新的功能,同时又不改变其结构,有点我们Spring中AOP的意思。注意事项:装饰模式作用是扩展一个类,因此是可以代替继承的。......原创 2022-08-29 11:24:48 · 397 阅读 · 0 评论 -
JAVA设计模式(四)——建造者模式
建造者模式也是属于创建型模式之一,其作用是使用多个简单的对象一步一步构建成一个复杂的对象,它提供了一种创建对象的最佳方式。模式名称 优点 缺点应用场景建造者模式1、建造者独立,易扩展。2、便于控制细节风险。1、产品必须有共同点,范围有限制。2、如内部变化复杂,会有很多的建造类。1.生成的对象很复杂,构造方法参数多,且部分是可选的2.需要生成的对象内部属......原创 2020-09-15 11:06:00 · 109 阅读 · 0 评论 -
JAVA设计模式(三)——原型模式
原型模式也属于创建型模式,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。其中包含了深复制和浅复制两种复制。浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。深复制的实现方式有2种,①单独对其中对象再次克隆②实现序列化,通过流......原创 2020-09-14 11:12:00 · 113 阅读 · 0 评论 -
JAVA设计模式(二)——工厂模式
工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建,将创建对象的过程交给工厂类(我们举一个发送邮件和短信的例子):模式名称优点 缺点使用场景简单工厂模式外界不需要创建对象,只需要消费即可工违反了高内聚责任分配原则,如果需要添加新的类,则就需要改变工厂类了。①工厂类负责创建的对象比较少②客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心......原创 2020-09-10 15:22:00 · 156 阅读 · 0 评论 -
JAVA设计模式(一)——单例模式
单例模式共分为三种方式、饿汉式、懒汉式、枚举方式等,每种方式都有各自的特点:方式优点缺点是否推荐 使用场景饿汉式无线程安全问题可能造成内存浪费、无懒加载效应推荐 源码Runtime类中使用了饿汉式懒汉式懒加载有线程安全问题推荐 枚举方式简单、无线程安全问题推荐饿汉式实现方式://方式一 静态常量方式pub......原创 2020-09-10 14:56:00 · 1879 阅读 · 0 评论 -
JAVA设计模式(五)——抽象工厂模式
下图为所有设计模式,带标记为重点掌握以及工作中常用到的: 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,其具体步骤如下: ①将多个工厂类抽象出一个抽象类 ②每个工厂类继承该抽象类 ③创建一个工厂创造器/生成器类,通过传入类型去获取对应工厂方法,再通过获取出的工厂类获取实列对象。抽象工厂模式对应类图如下:抽象工厂代码实现1.创建2个接口原创 2022-01-19 16:15:51 · 504 阅读 · 0 评论 -
JAVA设计模式(八)——代理模式
下图为所有设计模式,带标记为重点掌握以及工作中常用到的: 代理模式是属于结构型模式之一,其作用是为其他对象提供一种代理以控制对这个对象的访问。说到代理这个词语,大家可能就会觉得熟悉一些,我们熟知的代理有反向代理和正向代理等,只要理解到代理这个词语的含义,代理模式就可以很好的理解。模式名称优点缺点应用场景代理模式1、职责清晰。 2、高扩展性。 3、智能化。1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要原创 2022-01-22 11:21:05 · 488 阅读 · 0 评论 -
JAVA设计模式(六)——策略模式
下图为所有设计模式,带标记为重点掌握以及工作中常用到的: 策略模式是行为型设计模式之一,其作用是让一个类的行为或其算法可以在运行时更改,该模式也算是我比较熟悉的模式之一了,因为之前项目中有幸遇到大佬用过,让后学习了一下,后面会讲述策略模式我在项目中的实战使用场景。模式名称优点缺点应用场景策略模式1、算法可以自由切换。2、避免使用多重条件判断。 3、扩展性良好1、策略类会增多。 2、所有策略类都需要对外暴露。1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,原创 2022-01-20 09:59:25 · 3179 阅读 · 4 评论 -
JAVA设计模式(七)——模板模式
下图为所有设计模式,带标记为重点掌握以及工作中常用到的: 模板模式是行为型设计模式之一,其定义是一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。通俗的讲就是模板方法中定义好了执行步骤,但是每个步骤没有具体的实现,需要子类去实现。模式名称优点缺点使用场景模板模式1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。3、行为由父类控制,子类实现。每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得原创 2022-01-22 10:14:37 · 607 阅读 · 0 评论 -
JAVA设计模式(九)——适配器模式
下图为所有设计模式,带标记为重点掌握以及工作中常用到的: 适配器模式属于结构型模式之一,顾名思义,肯定会存在一个适配器的类去进行适配。比如我们以前的笔记本电脑如果要读取我们手机的内存卡,直接读取是不可以的。如果要读取的话我们需要准备一个读卡器,将内存卡装入到读卡器中,然后将读卡器插入到电脑,这样子才可以完成内存卡的读取。其中读卡器就充当着我们所说的适配器这个角色,适配器模式是作为两个不兼容的接口之间的桥梁模式名称优点缺点应用场景适配器模式1、可以让任何两个没有关联的类一起运原创 2022-01-23 14:20:47 · 514 阅读 · 0 评论