美文网首页
设计模式是什么?

设计模式是什么?

作者: 木叶苍蓝 | 来源:发表于2022-11-09 10:59 被阅读0次

设计模式是经过总结,优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码。反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板。设计模式不会绑定具体的编程语言,一个好的设计模式应该能够用大部分编程语言实现(如果做不到全部的话,具体取决于语言特性)。最为重要的是,设计模式也是一把双刃剑,如果设计模式被用在不恰当的情形下将会造成灾难,进而带来无穷的麻烦。然而如果设计模式在正确的时间用在正确的地点,那它将是你的救星。
期初,你会认为“模式”就是为了解决一类特定问题而特别想出来的明智之举。说的没错,看起来的确是通过很多人一起工作,从不同的角度看待问题进而形成的一个最通用,最灵活的解决方案。也许这些问题你曾经见过或解决过,但是你的解决方案很可能没有模式这么完备。
虽然被称为“设计模式”,但是它们同“设计”领域并非紧密联系。设计模式同传统意义上的分析,设计与实现不同,事实上设计模式将一个完整的理念根植于程序中,所以它可能出现在分析阶段或是更高层的设计阶段。很有趣的是因为设计模式的具体体现是程序代码,因此可能会让你认为它不会在具体实现阶段之前出现(事实上在进入具体实现阶段之前你都没有意识到正在使用具体的设计模式)。
可以通过程序设计的基本概念来理解模式:增加一个抽象层,抽象一个事物来隔离任何具体细节,这么做的目的是为了那些不变的核心部分从其他出来。当你发现你程序中的某些部分经常因为某些原因改动,而你不想让这些改动的部分引发其他部分的改动,这时候你就需要思考那些不会变动的设计方法了。这么做不仅会使代码可维护性更高,而且会让代码易于理解,从而降低开发成本。
这里列举了三种最基本的设计模式:

  1. 创建模式:提供实例化 的方法,为适合的状况提供相应的对象创建方法。
  2. 结构化模式:通常用来处理实体之间的关系,使得这些实体能够更好地协同工作
  3. 行为模式:用于在不同实体间进行通信,为实体之间的通信提供更容易更灵活的通信方法。
  • 创建型
  1. Factory Method (工厂方法)
  2. Abstract Factory (抽象工厂)
  3. Builder (建造者)
  4. Prototype(原型)
  5. Singleton(单例)
  • 结构型
  1. Adapter Class / Object(适配器)
  2. Bridge(桥接)
  3. Composite(组合)
  4. Decorator(装饰)
  5. Facade(外观)
  6. Flyweight(享元)
  7. Proxy(代理)
  • 行为型
  1. Interpreter(解释器)
  2. Template Method(模板方法)
  3. Chain of Responsibility (责任链)
  4. Command(命令)
  5. Iterator(迭代器)
  6. Mediator(中介者)
  7. Memento(备忘录)
  8. Observer(观察者)
  9. State(状态)
  10. Strategy(策略)
  11. Visitor(访问者)

相关文章

  • java-23种设计模式概述【软件设计模式基本介绍(是什么、作用

    一、设计模式基本介绍(是什么、作用、优点) 1、软件设计模式是什么? 软件设计模式(Software Design...

  • 浅析 MVC

    一、MVC是什么? MVC是一种设计模式(那设计模式又是什么呢?简单粗暴的说好用的东西就是设计模式),MVC能够使...

  • 2019-01-27 面试题

    [TOC] 1 设计模式是什么? 你知道哪些设计模式,并简要叙述。 单例模式 通知模式 代理模式 工厂模式 2 多...

  • 设计模式之前话一

    在进入具体的设计模式之前,我们有必要知道,设计模式是什么?为什么要学习设计模式?怎么学习设计模式?只有了解了这些问...

  • 设计模式讲解-第1篇初识设计模式

    设计模式讲解-初识设计模式 设计模式是什么? 设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用的经验(...

  • 设计模式

    设计模式简介 单例设计模式 问题:单例设计模式是什么?为什么要学它?怎么用它? 1.定义:单例模式(Singlet...

  • 浅析 MVC

    一、 MVC 设计模式 1. 设计模式 设计模式,是通用代码(组织方式)的一种统称 2. MVC 是什么 MVC ...

  • Factory Pattern

    介绍工厂方法模式之前,先说两句设计模式是什么。 设计模式公认的开山之作是这本: 设计模式:可 软件的基础,关键字是...

  • Java设计模式---设计模式是什么

    设计模式是什么 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的...

  • ☞ iOS面试题及答案

    基础部分 1、设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处...

网友评论

      本文标题:设计模式是什么?

      本文链接:https://www.haomeiwen.com/subject/pptntdtx.html