软件构造学习笔记2

本文总结了设计模式的三大类别:创建型、结构型和行为类模式。创建型模式如工厂方法,用于延迟实例化;结构型模式如适配器模式,提供接口便于客户端调用;行为类模式包括策略模式,让客户端决定执行策略,以及模板模式和迭代器模式,分别用于公共操作抽象和数据结构遍历。此外,还介绍了装饰器模式和访问者模式,用于对象功能扩展和不同组件间的交互。
摘要由CSDN通过智能技术生成

关于设计模式的汇总:创建型模式,结构型模式,行为类模式

创建型模式:

工厂方法模式(factory):工厂模式什么时候使用呢?就是当客户端不知道去实例化哪些对象,或者我们又不想让客户端知道我们代码中的类是什么,我们就可以使用工厂方法去让对象的实例化放在子类中,最终达到一种实例化延迟的效果。

结构型模式:

适配器模式(adaptor):做这种模式有什么好处呢?方便客户端调用。在客户端和类的实现之间加上一个接口,客户端可以直接通过调用接口,直接实现功能。

装饰器模式(Decorator):当我们对一个父类进行不同方面的扩展得到不同的子类,但是当我们的需求改变,我们想要实现两个子类的复合功能,难道我们要再写一个子类包含之前两个子类的方法么,那必然是不可能的,所以我们可以通过装饰器模式,方法就是,对每个特性,都设定子类,并通过委派增加到对象上。

行为类模式:

策略模式(Strategy):策略模式讲的就是我们针对同一个问题,有很多种方法去解决这个问腿,这时我们把选择权交给客户端,让客户端选择执行哪种方法。

模板模式(Template Method):模板模式。顾名思义,就是对于某些公共的操作我们在一个抽象类里去实现,对于一些有差异性的操作我们就单独实现,这个在我们Lab3里有广泛应用,例如投票的匿名与否,计票的模式等;

迭代器(Iterator):顾名思义。迭代器的作用就是,客户端想要去遍历一种数据类型,而客户端却不关注,这种数据类型到底是什么,这时我们就可以做一个迭代器去遍历某种数据结构。

访问者模式(Visitor):我们先定义一系列的操作,放在visitor中,在我们的ADT中我们可以通过引入visitor的方式去让我们的ADT具有visitor里的特性,本质上也是一种委派。与策略模式的区别:Strategy是在内部完成不同的实现,而visitor是通过调用一种共性的方法,与本身ADT可能关系不大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值