设计模式入门

模式:支持软件结构和设计的重用,与开发语言无关,但建立在一定的环境基础上

框架:支持细节设计和代码的重用,是一组组件的综合,这些组件相互协作,为一类相关应用提供可重用的框架结构

比较:设计模式比框架更抽象、和框架相比,设计模式是更小的单元的框架元素、从使用的广度来说,设计模式比框架更广,它与应用的相关性更小

目标:

重用:继承、组合

接口和实现的分离:接口保持不变,分离带来灵活性、多态性

松耦合性:降低复杂性

描述要素:

模式名称

问题、动机

约束

上下文

解决方案:结构、参与者、协作、实现

评测

相关模式

分类:

创建型模式

Factory Method:用一个virtual method完场创建过程

Abstract Factory:一个product族的factory method构成了一个factory接口

Prototype:通过product原型来构造product,Clone+prototype manager

Builder:通过一个构造算法和builder接口把构造与客户隔离开

Singleton:单实例类型,如何构造、访问这个单实例

Finder:把对象的获取过程与客户隔离开

结构型模式

adapter:用于两个不兼容接口之间的转接

bridge:用于将一个抽象与多个可能的实现连接起来

facade:用于为复杂的子系统定义一个新的简单易用的接口

composite:用于构造对象组合结构

decorator:用于为对象增加新的职责

proxy:为目标对象提供一个替代者

flyweight:针对细粒度对象的一种全局控制手段

行为型模式

command:用于对象封装命令,使得命令可以被传递、记录、排队

iterator:把对聚合体对象的访问封装起来

Observer:建立起一对多的通信模型,特别适合于更新通知和事件模型

Strategy:把一个对象或者类的某些行为封装到另一个单独的对象中

Visitor:把对一个结构模型的操作单独组织到一个类中

Chain of Responsibility:请求的处理过程,沿着传递,decouple发送方和接受方

Interpreter:在类层次结构中,在特定环境的“interpret”过程

Mediator:用一个mediator来decouple各同等单元

State:把一个对象的状态独立出来,动态可变换状态对象的类型

Template Method:在某类中定义算法的骨架,把某些细节延迟到子类中

命令模式:将调用操作的对象与知道如何实现该操作的对象解耦

Client:创建一个ConcreteCommand对象,调用者,并确定其接受者

Command:声明一个给所有具体命令

ConcereCommand:定义一个接收者和行为之间的弱耦合,实现execute()方法,该方法调用接收者相应的操作

Invoker:伏在调用命令对象执行请求

Receiver:具体实施一个请求 

适配器模式:

对象适配器:强调软件复用

类适配器:通过继承机制实现

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值