设计模式
文章平均质量分 88
主要讲解Java设计模式内容
夜夜流光相皎洁_小宁
九零后技术大叔,从事信息安全行业,架构师,JavaWeb、大数据、移动应用开发,关注移动应用安全、大数据安全、云原生安全、网络安全渗透、攻防等领域;喜欢交流和分享,喜欢读书,什么书都会读一读,比较杂;闲暇时间喜欢做技术总结,喜欢探索技术、解锁新技能。
展开
-
中介者模式介绍
中介者模式定义一个单独的(中介)对象,来封装一组对象之间的交互,将这组对象之间的交互委派给予中介对象交互,来避免对象之间的交互。中介者对象就是用于处理对象与对象之间的直接交互,封装了多个对象之间的交互细节。中介模式的设计跟中间层很像,通过引入中介这个中间层,将一组对象之间的交互关系从多对多的网状关系转换为一对多的星状关系。原来一个对象要跟N个对象交互,现在只需要跟一个中介对象交互,从而最小化对象之间的交互关系,降低代码的复杂度,提高代码的可读性和可维护性。今天我们就来讲解下中介者设计模式。原创 2024-01-24 10:23:23 · 1367 阅读 · 2 评论 -
解释器模式介绍
解析器模式用于定义语言的语法规则表示,并提供解释器来处理句子中的语法。解释器模式使用频率不算高,通常用来描述如何构建一个简单“语言”的语法解释器。它只在一些非常特定的领域被用到,比如编译器、规则引擎、正则表达式、SQL 解析等。不过,了解它的实现原理同样很重要,能帮助你思考如何通过更简洁的规则来表示复杂的逻辑。今天我们就来讲解下解析器设计模式。原创 2024-01-23 10:37:30 · 1226 阅读 · 2 评论 -
命令模式介绍
命令模式将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不 同请求依赖注入到其他对象),并且能够支持请求(命令)的排队执行、记录日志、撤销等 (附加控制)功能。核心是将指令信息封装成一个对象,并将此对象作为参数发送给接收方去执行,达到使命令的请求与执行方解耦,双方只通过传递各种命令对象来完成任务。在实际的开发中,如果你用到的编程语言并不支持用函数作为参数来传递,那么就可以借助命令模式将函数封装为对象来使用。今天我们就来讲讲命令设计模式。原创 2024-01-22 10:20:50 · 1193 阅读 · 2 评论 -
备忘录模式介绍
备忘录模式在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。该模式提供了一种对象状态的撤销实现机制,当系统中某一个对象需要恢复到某一历史状态时可以使用备忘录模式进行设。今天我们就来介绍下备忘录设计模式。原创 2024-01-19 10:46:21 · 959 阅读 · 1 评论 -
访问者模式介绍
访问者模式允许在运行时将一个或多个操作应用于一组对象,将操作与对象结构分离。该模式主要解决的是数据与算法的耦合问题,尤其是在数据结构比较稳定,而算法多变的情况下。为了不污染数据本身,访问者会将多种算法独立归档,并在访问数据时根据数据类型自动切换到对应的算法,实现数据的自动响应机制,并确保算法的自由扩展。今天我们就来介绍下访问者模式。原创 2024-01-19 10:25:31 · 2422 阅读 · 2 评论 -
迭代器模式介绍
迭代器提供一种对容器对象中的各个元素进行访问的方法,而又不需要暴露该对象的内部细节。在软件系统中,容器对象拥有两个职责:一是存储数据,而是遍历数据。从依赖性上看,前者是聚合对象的基本职责。而后者是可变化的,又是可分离的。因此可以将遍历数据的行为从容器中抽取出来,封装到迭代器对象中,由迭代器来提供遍历数据的行为,这将简化聚合对象的设计,更加符合单一职责原则。今天我们就来介绍下迭代器设计模式。原创 2024-01-18 11:13:55 · 1036 阅读 · 3 评论 -
状态模式介绍
状态模式允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中(用类来表示状态) ,使得对象状态可以灵活变化。今天我们就来介绍下状态设计模式。原创 2024-01-18 10:53:34 · 1159 阅读 · 3 评论 -
模板方法模式介绍
模板方法是在操作中定义算法的框架,将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。模板方法中的算法可以理解为广义上的业务逻辑,并不是特指某一个实际的算法。定义中所说的算法的框架就是模板,包含算法框架的方法就是模板方法。模板方法模式是一种基于继承的代码复用技术,它是一种类行为模式。模板方法模式其结构中只存在父类与子类之间的继承关系。今天我们就来介绍下模板方法模式。原创 2024-01-17 14:35:24 · 1284 阅读 · 3 评论 -
观察者模式介绍
观察者模式定义对象之间的一对多依赖关系,这样当一个对象改变状态时,它的所有依赖项都会自动得到通知和更新。观察者模式它是用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应的作出反应。观察者模式的应用场景非常广泛,小到代码层面的解耦,大到架构层面的系统解耦,再或者一些产品的设计思路,都有这种模式的影子。今天我们就来介绍下观察者模式。原创 2024-01-17 12:26:27 · 1098 阅读 · 1 评论 -
享元模式介绍
享元模式摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,从而让我们能在有限的内存容量中载入更多对象。享元模式要解决的核心问题就是节约内存空间,使用的办法是找出相似对象之间的共有特征,然后复用这些特征。所谓“享元”,顾名思义就是被共享的单元。今天我们就来学习下享元模式。原创 2024-01-16 15:19:23 · 1434 阅读 · 1 评论 -
组合模式介绍
组合模式就是将对象组合成树形结构以表示整个部分的层次结构。组合模式可以让用户统一对待单个对象和对象的组合。组合模式更像是一种数据结构和算法的抽象,其中数据可以表示成树这种数据结构,业务需求可以通过在树上的递归遍历算法来实现。今天我们就来介绍下组合设计模式。原创 2024-01-16 12:32:43 · 1213 阅读 · 5 评论 -
外观模式介绍
外观模式为子系统中的一组接口提供统一的接口。它定义了一个更高级别的接口,使子系统更易于使用。是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。今天我们就来介绍下外观模式。原创 2024-01-16 12:18:41 · 1115 阅读 · 1 评论 -
适配器模式介绍
适配器模式就是将类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。适配器模式是用来做适配,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。适配器模式有两种实现方式:类适配器和对象适配器。其中,类适配器使用继承关系来实现,对象适配器使用组合关系来实现。今天我们就来介绍下适配器模式。原创 2024-01-16 11:30:46 · 1259 阅读 · 1 评论 -
装饰器模式介绍
装饰器模式就是动态的给一个对象添加一些额外的职责。就扩展功能而言,装饰器模式提供了一种比使用子类更加灵活的替代方案。在软件设计中,装饰器模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系。今天我们就来介绍下装饰器设计模式。原创 2024-01-16 10:50:30 · 1005 阅读 · 3 评论 -
桥接模式介绍
桥接模式属于结构型模式,它用一种巧妙的方式处理多层继承存在的问题,用抽象关联来取代传统的多层继承,将类之间的静态继承关系转变为动态的组合关系,使得系统更加灵活,并易于扩展,有效的控制了系统中类的个数 (避免了继承层次的指数级爆炸).。今天我们就来介绍下桥接模式。原创 2024-01-16 10:20:11 · 1713 阅读 · 1 评论 -
Java设计模式之职责链模式介绍
职责链模式(chain of responsibility pattern) 定义: 避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求.将接收请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能够处理它为止。在职责链模式中,多个处理器(也就是刚刚定义中说的“接收对象”)依次处理同一个请求。一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B处理器处理完后再 传递给 C 处理器,以此类推,形成一个链条。原创 2023-06-15 19:32:59 · 31715 阅读 · 5 评论 -
原型设计模式
原型模式(Prototype Design Pattern)用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。西游记中的孙悟空拔毛变小猴,孙悟空这种根据自己的形状复制出多个身外化身的技巧,在面向对象软件设计领域被称为原型模式。孙悟空就是原型对象。原创 2023-06-12 19:16:11 · 30168 阅读 · 3 评论 -
建造者模式
本文介绍了设计模式中的建造者模式原创 2023-06-12 16:34:53 · 30384 阅读 · 3 评论 -
抽象工厂模式介绍
本文介绍了设计模式中的抽象工厂模式原创 2023-06-12 11:54:15 · 30257 阅读 · 1 评论 -
序列化对单例的破坏
本文介绍了序列化操作对象单例模式的破环,通过跟踪源码,解析了破坏的原理,提出了解决方案原创 2023-06-11 20:16:58 · 30105 阅读 · 3 评论 -
编程方法论
本文介绍了编程相关方法论,主要从面向对象思想、设计原则、设计模式、编程规范、重构等五个方面阐述原创 2023-06-11 17:56:07 · 30726 阅读 · 1 评论 -
代码质量评价标准
本文介绍了代码工程质量的评价标准原创 2023-06-11 16:15:31 · 32962 阅读 · 1 评论 -
代理模式介绍
本文介绍了设计模式中的代理模式,介绍了代理模式的分类、优缺点和使用场景原创 2023-06-11 15:43:23 · 120 阅读 · 1 评论 -
策略模式的介绍
本文介绍了设计模式中的策略模式,介绍了策略模式的结构组成,说明了策略模式的优缺点以及应用场景,最后写了一个示例说明策略模式的应用原创 2023-06-11 15:10:32 · 30341 阅读 · 1 评论 -
单例模式介绍
本文介绍了设计模式中的单例模式,并介绍了实现单例模式的几种方式原创 2023-06-11 11:56:37 · 30725 阅读 · 1 评论 -
工厂方法模式
本文介绍工厂模式中的工厂方法模式原创 2023-06-09 21:54:18 · 30340 阅读 · 1 评论 -
简单工厂模式
本文介绍了工厂模式中的简单工厂模式,介绍了简单工厂模式的结构,结构中包含的角色,实现类图、使用场景、优缺点等原创 2023-06-09 21:51:44 · 138 阅读 · 1 评论 -
设计模式简介
本文介绍Java设计模式的种类划分,以及介绍了设计模式的原则原创 2023-06-09 21:38:34 · 30625 阅读 · 1 评论