
软件工程
文章平均质量分 90
设计模式
旭东怪
这个作者很懒,什么都没留下…
展开
-
设计模式-访问者(Visitor)模式介绍和使用
在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。主要将数据结构与数据操作分离。稳定的数据结构和易变的操作耦合问题。需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,使用访问者模式将这些封装到类中。在被访问的类里面加一个对外提供接待访问者的接口。原创 2022-08-04 11:07:18 · 720 阅读 · 0 评论 -
设计模式-装饰器(Decorator)模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。1 介绍意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。何时使用:在原创 2022-04-28 09:31:34 · 756 阅读 · 0 评论 -
设计模式-适配器(Adapter)模式
目录1适配器(Adapter)模式2 被适配者类3 适配者类4 调试代码5 调试结果注:1适配器(Adapter)模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那...原创 2022-04-16 08:35:58 · 649 阅读 · 0 评论 -
设计模式-模板模式(Template)介绍和使用
目录1模板模式(Template)2 抽象Template类3 具体Template类3.1 TemplateA类3.2 TemplateB类3.3 TemplateC类3.4 TemplateD类4 调试代码5 调试结果注:1模板模式(Template)意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决:一些方法通用,却在每一个子类都重新写了这...原创 2022-04-15 09:21:36 · 2057 阅读 · 0 评论 -
设计模式 策略模式(Strategy)介绍和使用
目录1 策略模式(Strategy)2 抽象Strategy类3 具体Strategy类3.1加法Strategy类3.2减法Strategy类3.3乘法Strategy类3.4除法Strategy类4 调试代码5 调试结果注:1 策略模式(Strategy)当一个对象有多种行为要执行时,我们可以使用策略模式,让对象自由选择执行的行为种类,避免使用if…else if….else if…这种嵌套代码。假设每种行为的代码段都是上...原创 2022-04-14 09:08:50 · 755 阅读 · 0 评论 -
设计模式-建造者模式(Builder)2种实现方式(经典Builder模式、链式Builder模式)
目录1 Builder模式2 经典Builder模式2.1 抽象建造者角色(Builder)2.2 具体建造者(ConcreteBuilder)2.3 指导者(Director)2.4 产品角色(Product)2.5 调试代码3 链式Builder模式3.1 产品角色(Product)3.2 调试代码注:1 Builder模式Buidler模式主要分为两种:1、经典Builder模式;2、链式变形Builder模式。...原创 2022-04-13 10:44:13 · 1220 阅读 · 0 评论