设计模式(二):概述和分类

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案,这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。使用设计模式是为了提高软件的维护性、通用性、扩展性和可靠性。

了解设计模式,就需要了解四人帮(Gang of Four,简称GoF,分别是Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides四人),这四人合著出版了一本名为《Design Patterns - Elements of Reusable Object - Oriented Software》(设计模式-可复用的面向对象软件元素),该书中首次提到了设计模式的概念,共收录了23种设计模式。但是人的思维是无限的,不能仅仅把设计模式局限于这23中,从不同的地方去了解,也不止23种设计模式。

基本的设计模式可以分成三类,这里除了四人帮书中的23种设计模式,这23种设计模式的中文翻译和英文原版书中介绍一致,可能与其它文献以及大家的翻译和解释有所不同,后续详细介绍时会有所提及。还有2种来自菜鸟教程。

  1. 创建型模式:创建型模式提供的是一种创建对象的模式,不是简单的new一个对象,使创建对象更加灵活,以满足某些问题的需求。
    单例(Singleton)模式
    工厂方法(Factory Method)模式
    抽象工厂(Abstract Factory)模式
    原型(Prototype)模式
    建造者(Builder)模式。
  2. 结构型模式:结构型模式站在软件和系统结构的角度上,关注类和对象的组合,使软件结构更加合理。
    适配器(Adapter)模式
    桥接(Bridge)模式
    组合(Composite)模式
    装饰器(Decorator)模式
    外观(Facade)模式
    享元(Flyweight)模式
    代理(Proxy)模式
    过滤器(Filter、Criteria)模式:来自菜鸟教程
  3. 行为型模式:行为型模式站在方法的角度上,关注对象之间的通信(即方法的调用),使方法的设计和调用更加合理。
    责任链(Chain of Responsibility)模式
    命令(Command)模式
    解释器(Interpreter)模式
    迭代器(Iterator)模式
    中介者(Mediator)模式
    备忘录(Memento)模式
    观察者(Observer)模式
    状态(State)模式
    策略(Strategy)模式
    模板方法(Template Method)模式
    访问者(Visitor)模式
    空对象(Null Object)模式:来自菜鸟教程

其实,我们学习设计模式,是为了学习其中的设计理念,在实际使用过程中,要注意灵活运用,不能被其解释或者示例给束缚手脚。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值