设计模式目录分类

1设计模式简要说明可改变的方面
2Abstract Factory提供创建相关的或者相互依赖的一族对象的接口,使我们不需要指定具体的类。产品对象族
3Builder将一个复杂对象的结构与它的描述隔离开来,使我们使用相同的结构可以得到不同的描述。如何建立一种组合对象
4Factory Method *
定义不念一个创建对象的接口,但由子类决定需要实例化哪一个类。让一个类服从子类的实例。实例化子类的对象
5Prototype使用一个原型来限制要创建的类的类型,通过拷贝这个原型得到新的类。实例化类的对象
6Singleton保证一个类只有一个实例,并提供一个全局性的访问点。类的单个实例
7Adapter *
将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作。与对象的接口
8Bridge将类的抽象概念和它的实现分离开来,使它们可以相互独立地变化。对象的实现
9Composite将对象组成树结构来表示局部和整体的层次关系。客户可以统一处理单个对象和对象组合。对象的结构和组合
10Decorator给对象动态地加入新的职责。它提供了用子类扩展功能的一个灵活的替代。无子类对象的责任
11Facade给一个了系统的所有接口提供一个统一的接口。它定义了更高层的接口,使该子系统更便于使用。与子系统的接口
12Flyweight提供支持大量细粒度对象共享的有效方法。对象的存储代价
13Proxy给另一个对象提供一个代理或定位符号,以控制对它的访问。如何访问对象,对象位置
14Chain of Responsibility通过给多个对象处理请求的机会,减少请求的发送者与接送者之间的耦合。将接收对象链接起来,在链中传递请求,直到有一个对象处理这个请求。可满足请求的对象
15Command将一个请求封装一个对象,从而将不同的请求参数化并进行排队或登记,以支持撤消操作。何时及如何满足一个请求
16Interpreter  *给定一种语言,给出它的语法的一种描述方法和一个解释器,该解释器用这种描述方法解释语言中的句子。语言的语法与解释
17Iterator提供一种顺序性访问一个聚集对象中元素的方法,而不需要暴露它的底层描述。如何访问,遍历聚集的元素
18Mediator定义一个对象来封装一系列对象的交互。它保持对象间避免显式地互相联系,而消除它们间的耦合,还可以独立地改变对象间的交互。对象之间如何交互及与那些对象交互
19Memomeno在不破坏封装的条件下,获得一个对象的内部状态并将它外部化,从而可以在以后使对象恢复到这个状态。何时及哪些私有信息存储在对象之外
20Observer定义一个对象间一对多的依赖关系,当一个对象改变状态时,所有与它有依赖关系的对象都得到通知并自动更新。依赖于另一个对象的对象数量,依赖对象如何保持最新数据
21State允许一个对象在内部状态改变时改变自己的行为,对象看起来似乎能改变自己的类。对象的状态
22Strategy定义一族算法,对每一个都进行封装,使它们互相可交换。它使算法可以独立于使用它的用户而变化。算法
23Template Method *
定义一个操作的算法骨架,使某些步骤决定于子类。它使子类重定义一个算法的某些步骤,但不改变整个算法的结构。算法的步骤
24Visitor描述在一个对象结构中对某个元素需要执行的一个操作。它使我们在不改变操作的元素类的条件下定义新的操作。无需改变其类而可应用于对象的操作
 
1--6为创建性设计模式;7--13为结构性模式;13--24为行为性模式
注:其中带*为关于类的。其他的关于对象的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值