黑马【设计模式】
文章平均质量分 64
来世做春风嘛
文章大部分是自己的学习记录,最主要的目的是方便自己查阅复习。谢谢大家的收藏和点赞。
展开
-
设计模式 结构型模式 - 享元模式(七)
定义:运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。原创 2022-11-03 11:57:38 · 113 阅读 · 0 评论 -
设计模式 行为型模式 - 迭代器模式(八)
定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。原创 2022-11-03 10:25:22 · 146 阅读 · 0 评论 -
设计模式 行为型模式 - 观察者模式(六)
定义:又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。原创 2022-11-02 20:53:08 · 156 阅读 · 0 评论 -
设计模式 行为型模式 - 职责链模式(四)
一、概述 定义: 又名职责链模式,为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 二、结构 职责链模式主要包含以下角色: (1)抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和一个后继连接。 (2)具体处理者(Concrete Handler)角色:实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理.原创 2021-12-13 16:09:17 · 390 阅读 · 0 评论 -
设计模式 行为型模式 - 策略模式(二)
一、概述 定义: 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分隔开来,并委派给不同的对象对这些算法进行管理。 二、结构 策略模式的主要角色如下: 1. 抽象策略(Strategy)类:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。 2. 具体策略(Concrete Strategy)类:实现了抽象策略.原创 2021-12-13 10:57:30 · 92 阅读 · 0 评论 -
设计模式 行为型模式 - 模版方法模式(一)
一、概述 定义: 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。 二、结构 模版方法(Template Method)模式包含以下主要角色: 1. 抽象类(Abstract Class):负责给出一个算法的轮廓和骨架。它由一个模板方法和若干个基本方法构成。 (1)模版方法:定义了算法的骨架,按某种顺序调用其包含的基本方法。 (2)基本方法:是实现算法各个步骤的方法...原创 2021-12-10 17:01:34 · 196 阅读 · 0 评论 -
设计模式 行为型模式 - 概述
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模型和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: (1)模板方法模式 (2)策略模式 (3)命令模式 (4)职责链模式 (5)状态模式 (6)观察.原创 2021-12-10 14:13:37 · 153 阅读 · 0 评论 -
设计模式 结构型模式 - 装饰者模式(三)
一、概述 定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。 二、结构 装饰(Decorator)模式中的角色: (1)抽象构建(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。 (2)具体构建(Concrete Component)角色:实现抽象构件,通过装饰角色为其添加一些职责。 (3)抽象装饰(Decorator)角色:继承或实现 三、案例 四、使用场景 五、JDK 源码解析 六、代.原创 2021-12-06 11:16:23 · 255 阅读 · 0 评论 -
设计模式 结构型模式 - 适配器模式(二)
一、概述 定义: 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 适配器模式分为类适配器模式和对象适配器模式,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。 二、结构 适配器(Adapter)包含以下主要角色: 1. 目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。 2. 适配者(Adaptee)类:它是被访问和适配的...原创 2021-12-02 13:58:53 · 663 阅读 · 0 评论 -
设计模式 结构型模式 - 代理模式(一)
一、结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者采用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为7种: 1. 代理模式 2. 适配器模式 3. 装饰者模式 4. 桥接模式 5. 外观模式 6. 组合模式 7. 亨元模式 二、代理模式 1. 概述...原创 2021-11-30 18:14:48 · 290 阅读 · 0 评论 -
设计模式 结构型模式 - 概述
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者采用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为7种: 1. 代理模式 2. 适配器模式 3. 装饰者模式 4. 桥接模式 5. 外观模式 6. 组合模式 7. 亨元模式 ...原创 2021-12-13 09:54:04 · 81 阅读 · 0 评论 -
设计模式 创建型模式 - 建造者模式(四)
一、概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 1. 分离了部件的构造(由 Builder 来负责)和装配(由 Director 负责)。从而可以构造复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 2. 由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。 3. 建造者模式可以将部件和其组装过程分开,一...原创 2021-11-22 18:16:58 · 357 阅读 · 0 评论 -
设计模式 创建型模式- 工厂模式(二)
一、概述 在本教程中会介绍三种工厂的使用 1. 简单工厂模式(不属于 GoF 的 23 种经典设计模式) 2. 工厂方法模式 3. 抽象工厂模式 二、简单工厂模式 简单工厂模式不是一种设计模式,反而比较像是一种编程习惯。 1. 结构 简单工厂包含如下角色: 1. 抽象产品:定义了产品的规范,描述了产品的主要特效和功能。 2. 具体产品:实现或者继承产品的子类。 3. 具体工厂:提供了创建产品的方法,调用者通过该方法来获取产品。 2. 实现 ...原创 2021-11-19 18:10:32 · 377 阅读 · 0 评论 -
设计模式 创建型模式 - 单例模式(一)
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建于使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 1. 单例模式 2. 工厂方法模式 3. 抽象工程模式 4. 原型模式 5. 建造者模式 单例模式(Singleton Pattern)是Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及...原创 2021-11-19 17:27:08 · 739 阅读 · 0 评论 -
设计模式 创建型模式 - 概述
这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。”,它的主要特点是“将对象的创建与使用分离”。创建型模式的主要关注点是“原创 2021-12-10 11:35:01 · 81 阅读 · 0 评论 -
设计模式(三) - 软件设计原则
一、开闭原则 对扩展开发,对修改关闭。在程序需要进行扩展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。 想要达到这样的效果,我们需要使用接口和抽象类。 因为抽象灵活性好,适用性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节可以从抽象派生来的实现类进行扩展,当软件需要发生变化时,只需要根据需求重新派生一个实现类来扩展就可以了。 二、里氏代换原则 里...原创 2021-11-18 18:22:23 · 224 阅读 · 0 评论 -
设计模式(二) - UML
一、类图概述(1)统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。(2)UML 从目标系统的不同角度出发,定义了用例图、、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。一、类图概述类图(Class diagram)是显示了模型的,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。原创 2021-11-18 17:18:18 · 114 阅读 · 0 评论 -
设计模式(一) - 设计模式概述
设计模式”最初并不是出现在软件设计中,而是被用于建筑领域的设计中。《设计模式:可复用面向对象软件的基础》,在此书中收录了23个设计模式。4位作者在软件开发领域里以他们的四人组著称(Gang of Four,GoF)。原创 2021-11-18 16:17:46 · 387 阅读 · 0 评论