
设计模式
文章平均质量分 55
设计模式
尚少
这个作者很懒,什么都没留下…
展开
-
设计模式-模板模式
在日常行为中,我们做一些事是有固定的流程的,比如做菜:买菜-洗菜-煮菜-摆盘;流程是固定的,各个步骤却是有差异化的:a在这个菜市场买菜,b在那个菜市场买菜;抽象类:包含一个final修饰的模板方法(不可被重写,对应于上面的固定流程),和若干抽象方法(模板方法里的若干步骤)钩子函数是给子类的一个授权,用来自定义模板方法的执行逻辑。每一个不同的实现就需要一个子类,会造成类的个数增加,系统变得庞大。c.父类定义行为,子类实现具体步骤。具体类:继承抽象类,实现抽象方法。a.封装不变部分,扩展可变部分;...原创 2022-08-07 22:15:22 · 97 阅读 · 0 评论 -
设计模式-外观模式
在某个系统下,如果子模块比较多,而且内部的细节也比较多,这时调用这些子模块就会比较麻烦。这时外观模式就应运而生,系统会提供一个外观者,由它来调用各个子模块的各个步骤,而使用者去调用外观者的方法就可。将一个家庭影院映射到编程中,家庭影院有爆米花机、屏幕、投影仪、DVD播放器(各个子模块);外观者:为调用者提供封装好的接口,屏蔽子模块的细节,接口内部请求各个子模块的方法。1.对外屏蔽了子模块的细节,因此降低了客户端对子模块使用的复杂性。子模块:处理外观者指派的任务,它是功能的实际提供者。...原创 2022-08-14 00:47:00 · 139 阅读 · 0 评论 -
设计模式-备忘录模式
人如其名,该模式是保存对象的某个状态,以便在适当的时候恢复对象(有点像"后悔药")。适用场景:撤销操作:如在Wps中编写文档,使用CTRL + Z恢复到上一步的内容状态恢复:如在游戏中的存档、恢复存档。...原创 2022-08-14 23:19:31 · 123 阅读 · 0 评论 -
设计模式-享元模式
系统要使用大量对象,但它们有很高的相似性,只有少量状态不同,这时我们就可以利用享元模式:将创建的对象数量大大的缩减,提高对象的复用性,减少资源占用。具体享元角色:实现抽象享元角色规定的接口(也可能是抽象类),定义内部状态,不能从客户端设置,并且内部状态唯一。抽象享元角色:定义操作方法,一般会明确指定参数,用来设置外部状态。享元工厂角色:用来创建、管理具体享元角色的实例,向客户端提供实例。缺点:分离出内、外部状态,关注线程安全问题,并且程序逻辑变得复杂。优点:减少了对象的创建,降低了内存的占用。原创 2022-08-20 23:56:27 · 194 阅读 · 0 评论 -
设计模式-责任链模式
抽象处理者角色:一个处理请求的接口,包含一个抽象处理方法和一个后继属性具体处理者角色:实现抽象处理者角色定义的接口,处理方法实现为:判断能否处理该请求,能处理就处理,不能处理则转给后继属性客户端角色:创建责任链,并向链首的具体处理者对象提交请求。原创 2022-08-21 22:14:54 · 108 阅读 · 0 评论 -
设计模式-桥接模式
我们在日常生活中会遇到这样的场景:去西餐厅点牛排时,服务员会问你要眼肉、西冷还是菲力(部位),然后有时还会问其他维度的:要日本和牛、澳洲和牛还是澳洲安格斯牛。在软件开发中,我们也会碰到这种场景:类的变化维度有多个,如果用继承的方法去实现,会有类爆炸的问题,这时桥接模式就是来解决这类问题。具体抽象化角色:抽象化角色的具体实现,该维度有几种变化就对应有几个具体的具体抽象化角色。具体实现化角色:实现化角色的具体实现,该维度有几种变化,就有几个具体实现化类。实现化角色:是一接口,代表某一种维度。...原创 2022-08-28 16:40:17 · 157 阅读 · 0 评论 -
设计模式-装饰模式
在不改变现有对象结构以及不使用继承的情况下,给对象扩展功能。它是通过创建装饰对象,然后包裹目标对象的方式来完成。基类角色:被装饰者角色和装饰者角色共同的父类,通常是一个抽象类被装饰者角色:继承基类,通过装饰者增强抽象装饰者角色:继承基类,并包含一个被装饰者的实例具体装饰者角色:继承抽象装饰者,重写方法,方法内部使用被装饰者实例和额外的代码来实现增强。...原创 2022-08-31 13:56:34 · 79 阅读 · 0 评论 -
设计模式-组合模式
该模式的目的是系统对单个对象和多个对象的使用,具有一致性。比如我们的电脑上,有文件和文件夹(多个对象),新增、删除、修改它们用相同的操作,还有像树形菜单。这样客户端无需辨别到底是单个对象还是多个对象,可以直接操作,给客户带来便利。抽象节点角色:通常是一个抽象类,声明以下2个角色的公共行为操作树枝节点角色:继承抽象节点角色,实现抽象节点声明的方法。该角色会存储子元素(叶子节点或树枝节点),通常有add()、remove()、getChild()方法来管理子元素。原创 2022-09-03 16:18:47 · 134 阅读 · 0 评论 -
设计模式-建造者模式
将一个复杂对象的构造与表示分离,意思是使用同样的构造过程可以创建不同的表示。原创 2022-09-04 17:30:39 · 169 阅读 · 0 评论 -
设计模式-适配器模式
将一个接口(或者是类)转换成客户希望的接口(或者是类),使得原本因接口不匹配的两个类能够一起工作。比如我们日常生活中和电脑搭配使用的转接线。该模式又分为类适配器模式和对象适配器模式。原创 2022-10-23 00:00:55 · 98 阅读 · 0 评论