设计模式总结

1、创建型模式:如何创建对象

(1) 适配器:

目的:将一个类的接口转换成客户希望的另外一个接口
例子:目前我们已经有一个接口,和三个实现,但是我们现在想要一个新的实现,有解决办法可以新创造一个实现,但是我们发现之前创造过的实现可以和这个需求相匹配,所以我们要用之前创造过的实现,做一个接口和现在的这个接口想匹配,这样又利用了接口又利用了现有的实现。
概要:实现现有接口,继承已经有的实现类
具体实现:实现现有接口,继承已经有的实现类,新的实现类的方法调用已有实现类的方法。

2、结构型模式:如何组合类和对象

(1)装饰器:

目的:在不改变现有对象结构的情况下,动态地给该对象增加一些职责,即增加一些额外的功能,属于对象结构型模式。需要给现有类添加东西,但是又不想采用添加一个子类的时候可以这么用,该类被隐藏或者该类是终极类或者采用继承会产生大量的子类。
结构:
抽象构件:定义一个抽象接口以规范准备接收附加责任的对象。
具体构件——被装饰的对象:实现抽象构件,通过装饰角色为其添加一些职责。
抽象装饰:将需要添加的功能委托给具体构件,然后添加功能,实现抽象构件,并包含具体构件的实例,需要用这个实例去做改变,这个抽象装饰只是一个基类,实际上调用的还是子类;可以通过其子类扩展具体构件的功能。
具体装饰:继承抽象装饰,实现抽象装饰的相关方法,并给具体构件对象添加附加的责任。如果要是有新的函数或者方法,把它添加到原有的那个方法里,所以具体装饰和抽象装饰虽然方法的名字是一样的,但是具体的实现确实不一样的。

(2)外观模式:

目的:调用者需要一个简化的接口来调用复杂系统的整体功能

3、行为型模式:如何交互和分配责任

(1)策略模式:

定义一个算法的接口,每个算法用一个类来实现,客户端针对接口编写程序。
具体实现:接口只定义方法。
不同的实现类不变量不一样,构造器和实现方法可以不一样。客户端针对接口编写程序。

(2)模板模式:

在父类声明一个通用逻辑,用继承和重写的方式实现算法不同的部分,策略模式是用委托机制实现不通完整算法的调用,而模板模式有一个基本的框架。

(3)迭代器:

目的:在实际中,经常要访问一个聚合对象中的各个元素,比如说遍历,把遍历和链表的创建都放在同一个类中,不利于程序的扩展,所以迭代器模式就是提供一个对象来顺序访问聚合对象中的一系列数据
结构:
抽象聚合:定义添加,删除聚合对象以及创建迭代器对象的接口
具体聚合:实现抽象聚合类,返回一个具体迭代器的实例
抽象迭代器:定义遍历的接口
具体迭代器:实现抽象迭代器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值