“设计模式”一词,最早衍生自建筑领域。1994年10月Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四个人一起出版了《设计模式:可复用面向对象软件的基础》一书,奠定了设计模式的基础。书中介绍了23种设计模式,下文我们将一一介绍。
软件领域中广义的设计模式是指在特定场景下总结的编程范式。这些编程范式可以指导我们通过某种方式组织代码,能写出更好的代码。日常工作中大家讨论的设计模式,基本是指面向对象编程场景下的常用编程范式,往往都脱离不了上述的23种设计模式。因为我们要介绍的23种设计模式都是面向对象编程场景下的,所以在学习设计模式之前必须了解面向对象编程的基础知识。(传送门)
23种设计模式分为三类:创造型、结构型、行为型。
创造型设计模式通过规定对象创建的机制,使创建的对象满足不同的应用场景。创造型设计模式有5种:工厂方法、抽象工厂、单例模式、创造者模式、原型模式。
结构型设计模式通过规范一个或一组对象的内部结构,增强对象的灵活性和可维护性。结构型设计模式有7种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型设计模型通过一定的规则增强多个对象之间交互的可维护性及可扩展性;或是通过规范对象内部的行为方便执行一连串的或者多变的算法。
行为型设计模式有11种:策略模式、模版方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
虽然我们还没有详细介绍每一种设计模式,但是关于设计模式的局限性还是要先说一下的。
本文我们简要介绍了设计模式的由来和常见的设计模式,后续会结合例子逐一介绍这些设计模式。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有