![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 89
以基础为主,逐步提升自己的代码能力。
跟风。
从零开始学Java
展开
-
设计模式(十)享元模式
运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量,避免大量相似对象的开销,从而提高系统资源的利用率。原创 2022-09-11 21:35:31 · 76 阅读 · 0 评论 -
设计模式(九)组合模式
组合模式Conbination Pattern黑马程序员: https://www.bilibili.com/video/BV1Np4y1z7BU?p=82概述上图我们可以看作是一个文件系统,对于这样的结构我们称为树形结构在树形结构中可以通过用某个方法来遍历整个树,当我们找到某叶子结点后,就可以对叶子结点进行相关的操作。可以讲这棵树理解成一个大容器,容器里包含许多成员变量,这些成员对象既可以是容器对象,也可以是叶子对象。但是由于容器对象和叶子对象在功能上的区别,使得我们在使用过程中必须要区分容原创 2022-05-18 10:39:00 · 206 阅读 · 0 评论 -
设计模式 --- 入门
为什么要学习设计模式1、应对面试中的设计模式相关问题;2、告别写代码被人吐槽的烂代;3、提高复杂代码的设计和开发能力;4、让读源码、学框架事半功倍…1.设计模式概述“设计模式”来源于建筑领域设计概念软件设计模式,又称为设计模式,是一套反复使用,多数人知晓的,经分类编目的,代码设计经验的总结。具有一定的普遍性,可以反复使用。优点可以提高程序员的思维能力,编程能力和设计能力。设程序设计更加标准化,代码编制更加工程化,是软件开发效率大大提高,从而缩短软件的开发周期使设计的代码可重原创 2022-04-19 13:07:07 · 250 阅读 · 0 评论 -
设计模式(一)单例模式
单例模式B站黑马程序员学习 https://www.bilibili.com/video/BV1Np4y1z7BU?p=22简介java中最简单的设计模式之一,属于创建者模式,它提供了一种创建对象的最佳模式。这种模式设计到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。结构单例类:只能创建一个实例的对象访问类:使用单例类实现 饿汉式:类加载就会导致该单实例对象被创建 懒汉式:原创 2022-04-21 20:08:13 · 96 阅读 · 0 评论 -
设计模式(二)工厂模式
工厂模式黑马程序员:https://www.bilibili.com/video/BV1Np4y1z7BU?p=34简介在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new对象,就会对该对象耦合严重。如果我们使用工厂来创建对象,我们就只有和工厂打交道就可以了,彻底和对象解耦,如果要更换对象,直接在工厂里更换该对象即可,达到了与对象解耦的目的;所以说工厂模式的最大特点是解耦。概述需求:设计一个咖啡店点餐系统设计一个咖啡类,并且有两个子类,(美式咖啡和拿铁咖啡);再设计一原创 2022-04-22 18:53:07 · 292 阅读 · 0 评论 -
设计模式(三)原型模式
原型模式黑马程序员:https://www.bilibili.com/video/BV1Np4y1z7BU?p=46概述用一个已经创建的实例作为原型,通过赋值该原型对象来创建一个和原型对象相同的新对象。结构原型模式包含的角色:抽象原型类:规定了具体原型对象必须实现的clone()方法;具体原型类:实现抽象原型类clone()方法,它是可以被复制的对象;访问类:使用具体原型类中的clone()方法来复制新的对象。分类浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非原创 2022-04-25 17:15:08 · 169 阅读 · 0 评论 -
设计模式(四)建造者模式
建造者模式黑马程序员:概述将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。构建过程:将主机的各种零部件组装成一个完整主机的过程。建造者模式分离了部件的构造(由Builder来负责)和装配(由Director负责)。适用于:某个对象的构建过程复杂的情况。由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。建造者模式可以将部件和其组装过程分开,一步一步创原创 2022-04-28 14:49:13 · 485 阅读 · 0 评论 -
设计模式(五)代理模式
代理模式概述由于某些原因需要给某对象提供一个代理以控制该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象的中介。Java中的代理模式按照代理类生成时机不同分为:静态代理 (编译期生成)动态代理 (运行时动态生成) 分为JDK代理和CGLib代理两种静态代理例:火车站买票如果要买火车票的话,需要去火车站买票,比较麻烦。我们可以去火车站的多个代售点买票。UML类图代码实现SellTickets(抽象主题类)publ原创 2022-04-30 16:04:05 · 492 阅读 · 0 评论 -
设计模式(六)装饰者模式
装饰者模式Decorator pattern黑马程序员:https://www.bilibili.com/video/BV1Np4y1z7BU?p=70概述定义:指在不改变现有对象结构的情况下,动态的给该对象增加一些职责(即增加额外功能)的模式。结构装饰者模式中的角色:抽线构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件(Concrete Component)角色:实现抽象构件,通过装饰角色为其添加一些职责。抽象装饰(Decorator)角色:继承原创 2022-05-03 20:38:03 · 148 阅读 · 0 评论 -
设计模式(七)桥接模式
桥接模式黑马程序员:黑马程序员Java设计模式详解,全网最全23种Java设计模式(图解+框架源码分析+实战)_哔哩哔哩_bilibili目录桥接模式概述结构案例好处使用场景概述定义:将抽象与实现分离,使他们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。为了更加灵活的设计系统,我们可以考虑使用桥接模式。现在有一个需求,需要创建不同的图形,并且每个图形都有可能有不同的颜色。我们可以...原创 2022-05-08 20:49:15 · 384 阅读 · 0 评论 -
设计模式(八)外观模式
外观模式Facade Pattern黑马程序员:https://www.bilibili.com/video/BV1Np4y1z7BU?p=78概述又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统可以更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。外观模式是“迪米特法则”的典型应用。结构外观模式包含以下角色:外观(Facade)角色:为实现子系统对外提供一个共同的原创 2022-05-09 19:04:08 · 283 阅读 · 0 评论