设计模式的概念

设计模式的概念

设计模式是什么

它是一套理论,由软件界的先辈们GOF总结出的一套可以反复使用的经验,它可以提高代码的可重用性,增强系统的可维护性,以及解决一系列的复杂问题。做软件的人都知道需求是最难把握的,我们可以分析现有的需求,预测可能发生的变更,但是我们不能控制需求的变更。问题来了,既然需求的变更是不可控的,那如何拥抱变化呢?幸运的是,设计模式给了我们指导。

设计模式的来源

GoF(“四人帮”Gang of Four,指Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides四人)的《设计模式》(1995年出版)是第一次将设计模式提升到理论高度,并将之规范化。书中提出了23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。

由于《设计模式:可复用面向对象软件的基础》一书确定了设计模式的地位,人们通常所说的设计模式隐含地表示”面向对象设计模式”。但这并不意味”设计模式”就等于”面向对象设计模式”,也不以为着GoF23种设计模式就表示了所有的”面向对象设计模式”。除了,”面向对象设计模式”外,还有其它模式。除了Gof23种设计模式外,还有更多的面向对象的设计模式。Gof23种设计模式是学习面向对象设计模式的起点,而非终点。

设计模式的范畴

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

设计模式的分类

模式 描述 包括
创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式 抽象工厂模式 单例模式 建造者模式 原型模式
结构型模式 这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 适配器模式 桥接模式 过滤器模式 组合模式 装饰器模式 外观模式 享元模式 代理模式
行为型模式 这些设计模式特别关注对象之间的通信 责任链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模 观察者模式 状态模式 空对象模式 策略模式 模板模式 访问者模式

猜你喜欢

转载自blog.csdn.net/u022812849/article/details/53024464