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