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

什么是设计模式

作者: zfylin | 来源:发表于2018-06-05 15:16 被阅读0次

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。

    设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。

    • 模式名称(Pattern Name)通过一两个词来描述模式的问题、解决方案和效果,以便更好地理解模式并方便开发人员之间的交流,绝大多数模式都是根据其功能或模式结构来命名的(GoF设计模式中没有一个模式用人名命名,微笑);
    • 问题(Problem)描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因;解决方案(Solution)描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式,通常解决方案通过UML类图和核心代码来进行描述;
    • 效果(Consequences)描述了模式的优缺点以及在使用模式时应权衡的问题。
      根据它们的用途,设计模式可分为创建型(Creational)结构型(Structural)行为型(Behavioral)三种
      1. 创建型模式主要用于描述如何创建对象
      2. 结构型模式主要用于描述如何实现类或对象的组合
      3. 行为型模式主要用于描述类或对象怎样交互以及怎样分配职责

    在GoF 23种设计模式中包含5种创建型设计模式、7种结构型设计模式和11种行为型设计模式。此外,根据某个模式主要是用于处理类之间的关系还是对象之间的关系,设计模式还可以分为类模式对象模式。我们经常将两种分类方式结合使用,如单例模式是对象创建型模式,模板方法模式是类行为型模式。

    image.png

    在学习每一个设计模式时至少应该掌握如下几点:

    • 这个设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;
    • 它是如何解决的,掌握它的结构图,记住它的关键代码;
    • 能够想到至少两个它的应用实例,一个生活中的,一个软件中的;
    • 这个模式的优缺点是什么,在使用时要注意什么。

    模式从不保证任何东西,它不能保证你一定能够做出可复用的软件,提高你的生产率,更不能保证世界和平。模式并不能替代人来完成软件系统的创造,它们只不过会给那些缺乏经验但却具备才能和创造力的人带来希望。

    参考链接-设计模式有什么用

    相关文章

      网友评论

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

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