设计模式:区分所有模式及其分类

各个模式的区分

1)装饰者:包装一个对象,以提供新的行为

2)状态:封装了基于状态的行为,并使用委托在行为之间切换

3)迭代器:在对象的集合之中游走,而不暴露集合的实现

4)外观:简化一群类的接口

5)策略:封装可以互换的行为,并使用委托来决定要使用哪一个

6)代理:包装对象,以控制对此对象的访问

7)工厂方法:由子类决定要创建的具体类是哪一个

8)适配器:封装对象,并提供不同的接口实现

9)观察者:让对象能够在状态改变时被通知

10)模板方法:由子类决定如何实现一个算法中的步骤

11)组合:客户用一致的方式处理对象集合和单个对象

12)单件:确保有且只有一个对象被创建

13)抽象工厂:允许客户创建对象的家族,而无需指定他们的具体类

14)命令:封装请求,成为对象

 

设计模式分类方法一

创建型模式:创建型模式涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。如Singleton单例模式,Abstract Factory抽象工厂模式,Factory Method工厂方法模式

行为型模式:行为型模式涉及到类和对象如何交互及分配职责。如Template Method模板方法模式,Iterator迭代器模式,Command命令模式,Observer观察者模式,State状态模式,Strategy策略模式

结构型模式:结构型模式可以让用户把类或对象组合到更大的结构中。如Decorator装饰者模式,Composite组合模式,Facade外观模式,Proxy代理模式,Adapter适配器模式

 

设计模式分类方法二

类模式:类模式描述类之间的关系如何通过继承定义,类模式的关系是在编译时建立的。如Template Method模板方法模式,Factory Method工厂方法模式,Adapter适配器模式

对象模式:描述对象之间的关系,而且主要是利用组合定义。对象模式的关系通常在运行时建立,而且更加动态有弹性。如Composite组合模式,Decorator装饰者模式,Proxy代理模式,Strategy策略模式,Facade外观模式,Command命令模式,Iterator迭代器模式,Observer观察者模式,State状态模式,Abstract Factory抽象工厂模式,Singleton单例模式

 

模式的定义

模式是在某情境下,针对某问题的某种解决方案。情境就是应用某个模式的情况,这应该是会不断出现的情况。问题就是你想在某情境下达到的目标,但也可以是某情境下的约束。解决方案就是你所追求的,一个通用的设计,用来解决约束、达到目标。

理解:如果你发现自己处于某个情境下,面对着所欲达到的目标被一群约束影响着的问题。然而,你能够应用某个设计,克服这些约束并达到该目标,将你领向某个解决方案

 

反模式的定义

反模式告诉你如何采用一个不好的解决方案解决一个问题。通过将反模式归档,我们能够帮助其他人在实现它们之前,分辨出不好的解决方案。如开发反模式,OO反模式,组织反模式和领域特定反模式

 

要点

  1. 让设计模式自然而然的出现在你的设计中,而不是为了使用而使用
  2. 设计模式并非僵化的教条,可以根据自己的需要采用或调整
  3. 优先使用满足需要的最简单解法,不管它用不用模式
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值