设计模式
文章平均质量分 72
设计模式
狗狗大蛇
学无止境,进无止步!
展开
-
模板方法模式介绍与示例
目录一、模板方法模式简介二、代码示例三、总结一、模板方法模式简介模板方法模式的核心设计思路是通过在抽象类中公开定义抽象方法的执行顺序,并将抽象方法的设定为只有子类去实现,但不设计独立的访问方法。即子类实现的抽象方法不能被其它类访问,所有抽象方法的执行顺序逻辑由抽象类中的公开方法进行控制。解决的问题:系统中一些业务场景的方法能够通用,每一个子类却都需要重新实现这一方法。何时使用:有一些通用实现方法的时候就可以使用。使用场景: 1、有多个子类共有的方法,且逻辑相同。 2.原创 2022-05-25 23:49:43 · 302 阅读 · 0 评论 -
享元模式的介绍与使用
目录一、享元模式:二、代码实现:三、总结一、享元模式:享元模式主要是共享通用对象的模式,是一种对象实例的创建策略,其目的是减少内存占用和提高系统访问的性能。比如一些较大的对象通常比较消耗内存,需要查询大量的接口或数据库资源,因此有必要统一抽离出来作为共享的对象使用。主要解决:在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。何时使用:1、系统中有大量对象。2、这些对象消耗大量内存。3.原创 2022-05-18 23:56:50 · 302 阅读 · 0 评论 -
外观模式的介绍与使用
目录一、什么是外观模式?二、代码示例三、总结一、什么是外观模式?概念:我们用举例子的形式来阐述一下什么是外观模式?在我们生活中,送外卖已经是一件很平常的事,夏天到了,你点了一份蒜蓉大龙虾外加20份羊肉串,店家在接收到你订单的时候开始制作蒜蓉小龙虾与羊肉串,这个美食的制作过程可能很复杂。做好以后,外卖小哥在规定的时间去取你的外卖,然后快马加鞭的给你送过来。最后,你只需要接收外卖小哥给你的外卖,你就可以吃到美滋滋的小龙虾和羊肉串了。在上面的这个例子中:点外卖的你需要关系如何制原创 2022-05-16 23:41:24 · 396 阅读 · 0 评论 -
装饰器模式的介绍与使用
目录一、装饰器模式介绍二、代码演示三、总结一、装饰器模式介绍概念:允许向一个现有的对象添加新的功能,同时又不改变其结构的设计模式叫做装饰器模式。简单的说:就是用一个装饰类A包装一个原有的类B,在不改变B类完整性的情况下扩展其某些功能的设计模式;这么做的好处就是可以动态的给B添加一些额外的功能,但是又不影响到B类本身的职责。使用场景:1.扩展一个类的功能 2.动态增加功能,装饰器模式的特点:抽象接口类:定义抽象接口(被装饰的类) 接口具体实现类:实现抽象接口的一原创 2022-05-10 23:00:39 · 450 阅读 · 0 评论 -
桥接模式介绍与使用
目录一、桥接模式的概念二、代码示例一、桥接模式的概念桥接模式的主要作用是通过将抽象部分与实现部分分离,将多种可以相互匹配的使用进行组合,其核心实现是在A类中含有B类接口,通过构造函数传递B类的实现,这个B类就是设计的桥。桥接模式将继承的关系转化为关联的关系,这样做的优点就是降低了类与类之间的耦合度,减少系统中类的数量,也减少了代码量。以上的概念听起来比较的晦涩难懂,但是呢其本质也不复杂,重点就是红色字体的部分。桥接模式主要有以下几个角色:1.抽象类:某个业务抽取原创 2022-05-06 20:59:45 · 2460 阅读 · 3 评论 -
适配器模式介绍与使用
一、适配器模式介绍适配器模式的主要作用是把原本不兼容的接口通过适配器修改做到统一,方便调用方进行使用;解决的问题:主要解决如何针对差异化类型的接口实现统一输出;关键代码:适配器继承或依赖已有的对象,实现想要的目标接口。模式的结构:1.目标接口:当前系统所期望的接口,可以是抽象类或接口;2.适配转换器:它是转换器,通过继承或引用适配者对象,并把它转换成目标接口;3.待适配者:它是被访问和适配的现有组件接口;它比如我们平时很常见的转接头,万能充等物体,也是一种适配器.原创 2022-04-25 22:30:03 · 610 阅读 · 0 评论 -
原型模式简介及作用
目录一、概念:二、代码示例一、概念:原型模式主要解决的是创建重复对象的问题,用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和实例原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。该模式最显著的一个特征就是对象的克隆;模式的结构特点:1.抽象原型类:具体原型对象继承后必须要实现的接口;2.具体原型类:实现抽象原型类的clone()方法,它是可以被复制的对象,即原型模式中的那个原型对象;3.访问类:使用具体原型类中的clone()方法来复制新原创 2022-04-23 17:30:52 · 871 阅读 · 0 评论 -
抽象工厂模式介绍与实现
目录一、抽象工厂模式二、UML图示例三、代码示例四、优缺点之前的一篇文章我们介绍了简单工厂模式,今天我们就来介绍一下抽象工厂模式;一、抽象工厂模式其实抽象工厂模式相比于简单工厂模式,本质上就是多了一层创建简单工厂的超级工厂,该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。抽象工厂的组成:抽象工厂原创 2022-04-19 22:39:57 · 924 阅读 · 0 评论 -
单例模式介绍与使用
目录一、单例模式概念:二、单例模式的组成套路(3个条件)三:几种类型示例四、本节总结单例模式在java编程的过程中经常被使用到,比如日常开发中,数据库的连接池不会反复创建,及在spring框架中创建的bean默认都是单例的。一、单例模式概念:如果一个类只允许创建一个对象(实例),保证在一个 JVM 中只存在单一实例,那这个类就是一个单例类,这种设计模式就叫单例模式。作用:主要解决一个全局的使用类被频繁地创建与销毁问题,,从而提升代码的整体性能;种类:饿汉式、懒汉.原创 2022-04-18 22:48:49 · 729 阅读 · 0 评论 -
JAVA设计模式之简单工厂模式
目录一、什么是简单工厂模式二、简单工厂模式的结构三、代码示例四.总结分析一、什么是简单工厂模式简单工厂模式提供了按需创建对象的最佳方式,是创建型设计模式的一种;简单工厂模式又称为静态工厂模式,实质是一个工厂类根据传入的参数,动态决定应该创建哪个具体实现类(这些类是继承自一个父类或接口)的一种设计模式。二、简单工厂模式的结构简单工厂模式通常由以下几个部分组成1.Factort:工厂类,其中有能根据不同的请求创建具体产品类的方法;2.Produc原创 2022-04-15 21:36:34 · 773 阅读 · 0 评论 -
建造者模式介绍与使用
建造者模式介绍与使用目录建造者模式介绍与使用一、建造者模式是什么?二、代码示例1.代码示例(一种复杂对象)2.分析代码总结一、建造者模式是什么?建造者模式的核心概念:通过多个简单对象一步步的构建出一个复杂的对象,将复杂对象的构造与它的表示分离,是同样的构建过程可以创建不同的表示。平时开发的过程中,我们经常遇到复杂对象的创建情况。比如《王者荣耀》游戏中的不同英雄角色:眼睛,发型,技能等等;《坦克世界》里面不同的坦克:防护能力,火力,装甲,涂装等等;对于建造者模式的概念,我们说说它的重点组成部分:原创 2022-04-14 22:38:54 · 712 阅读 · 0 评论 -
策略模式的介绍与使用
目录一、策略模式介绍二、代码实现2.1 定义一个接口:UserService;2.2 定义2个策略实现类:2.3 定义一个封装多实现的配置:UserServiceConfig;2.4 定义一个工厂类:UserTypeFactory;2.5定义用户接口:UserController2.6 swagger测试一、策略模式介绍策略模式:指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。优点:1.算法可以自由切换对应实现,避免大量的if-else,..原创 2021-01-30 21:21:13 · 206 阅读 · 1 评论