设计模式概述

1、什么是设计模式?

  设计模式这个词是首先出现在建筑行业的,是因为在20世纪70年代,Christopher Alexander发现许多建筑非常类似,然后想是不是用同一图纸能够在不同的地点建造出相类似的建筑,之后他发表了很多关于工程和建筑模式方面的书籍。于是,软件行业逐渐接纳了这种最初建立于工程和建筑方面的模式思想,发展出了软件业中的设计模式,软件业中模式概念的普及是由GoF合著的书引发的。那么,什么是设计模式呢? 

  百度百科:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

  Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。

  自己的理解:设计模式就是从多种类似场景抽取出来的模型,能够在类似的环境中解决类似问题的方案。

2、设计模式的分类

  设计模式普遍认为最基本的有23种,共分成三类:

  (1)创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

  定义:对类的实例化过程的抽象。一些系统在创建对象时,需要动态地决定怎样创建对象,创建哪些对象,以及如何组合和表示这些对象。创建模式描述了怎样构造和封装这些动态的决定。包含类的创建模式和对象的创建模式。实际上就是创建对象。

  具体模式分析:

1

  (2)结构型模式(7种):适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

  定义:描述如何将类或对象结合在一起形成更大的结构。分为类的结构模式和对象的结构模式。类的结构模式使用继承把类,接口等组合在一起,以形成更大的结构。类的结构模式是静态的。对象的结构模式描述怎样把各种不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。就是描述类之间、对象之间的结构。

  具体模式分析:

2

  (3)行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

  定义:对在不同的对象之间划分责任和算法的抽象化。不仅仅是关于类和对象的,也是关于他们之间的相互作用。类的行为模式使用继承关系在几个类之间分配行为。对象的行为模式则使用对象的聚合来分配行为。就是对象能够做什么。

  具体模式分析:

1

1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值