软件构造4.3

structural patterns 结构型模式

adapter 适配器模式

将某个类或接口转换为client期望的其他形式,通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体子类。
在这里插入图片描述

decorator装饰器模式

用于为对象增加不同侧面的特征,对于每一个特性构造子类,通过委派机制增加到对象上、
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

facade外观模式

客户端需要通过对一个简化的接口来访问复杂系统内的功能,提供一个统一的接口来取代一系列小接口调用,相当于对复杂的系统做了一个封装,简化客户端使用。

behavioral patterns行为类模式

strategy 策略模式

有多种不同的算法来实现同一个任务,但需要client根据需要动态切换算法,而不是写死在代码里,为不同的实现算法构造抽象接口,利用delegation,运行时动态传入client倾向的算法类实例
在这里插入图片描述

template method 模板模式

做事情的步骤一样,但是具体方法不同,共性的步骤在抽象类中公共实现,差异化的步骤在各个子类中实现。
使用继承和重写实现模板模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

iterator 迭代器

客户端希望遍历被放入容器或者集合类的一组ADT对象,无需关心容器的具体类型,也就是说,不管对象被放进哪里,都应该提供相同的遍历方式。
迭代器按顺序访问对象的元素,而不公开其底层表示。
– 迭代器模式主要包含以下角色。
– 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口。
– 具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代器的实例。
– 抽象迭代器(Iterator)角色:定义访问和遍历聚合元素的接口,通常包含 hasNext()、first()、next() 等方法。
– 具体迭代器(Concretelterator)角色:实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值