【设计模式】(一)设计模式概述

本文介绍了设计模式的概念、学习设计模式的好处,如应对面试、提升代码质量和复杂系统设计能力。并详细分类了GOF的23种设计模式,包括创建型、结构型和行为型,以及每类模式的代表性例子。
摘要由CSDN通过智能技术生成

一、设计模式概述

设计模式(Design pattern)**是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结

在GOF编写的设计模式(可复用面向对象软件的基础)一书中说道: 本书涉及的设计模式并不描述新的或未经证实的设计,我们只收录那些在不同系统中多次使用过的成功设计

  • 大部分设计模式要解决的都是代码的可重用性、可扩展性问题

如果说数据结构和算法是教你如何写出高效代码,那设计模式讲的是如何写出可扩展、可读、可维护的高质量代码,所以,它们跟平时的编码会有直接的关系,也会直接影响到你的开发能力。

  • 学习设计模式的好处

    • 能够从容应对面试中的设计模式相关问题

      我们学习技术从最功利的角度讲,就是为了拿到心仪的offer,得到想要的薪资.所以在面试时特别是面试一些BAT大厂时,如果被问到设计模式的问题, 因为我们学了本次课程, 就不会再惧怕这些问题,设计模式反而会成为你面试中的亮点.

    • 不再编写 bullshit-code

      代码能力是一个程序员最基础的能力,是基本功,是展示一个程序员基础素养的最直接的衡量标准。你写的代码,实 际上就是你名片。我们通过学习设计模式,告别烂代码的编写,避免比如类设计不合理,代码结构混乱,分层不清晰 等等这样的代码问题. 让我们编写的代码成为团队中的标杆.

    • 提高复杂代码的设计和开发能力

      不再只是根据业务需求翻译代码,填充代码. 而是能够通过所学习的设计模式的相关知识写出高质量的代码.即使面对复杂代码功能或者系统的设计开发也能得心应手.

    • 有助于我们读懂源码,学习框架更加事半功倍

      对于一个有追求的程序员来说,对技术的积累,既要有广度,也要有深度。所以我们需要更多的去学习研究各种框架,中间件的底层原理,而这些优秀的框架 中间件的源码中会使用到很多设计思想 设计原则 设计模式 ,所以为了更好的独懂这些开源项目,我们必须好设计模式相关知识.

二、设计模式分类

GoF设计模式只有23个,但是它们各具特色 ,每个模式都为某一个可重复的设计问题提供了一套解决方案。

根据它们的用途,设计模式可分为 **创建型(Creational) **,结构型(Structural) 行为型(Behavioral)

  • 创建型模式(5种):提供创建对象的机制,提升已有代码的灵活性和可复用性

       常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。 
     
       不常用的有:原型模式。
    

在这里插入图片描述

  • 结构型模式(7种):介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效**

       常用的有:代理模式、桥接模式、装饰者模式、适配器模式。 
       
       不常用的有:门面模式、组合模式、享元模式。
    

    在这里插入图片描述

  • 行为模式(11种):负责对象间的高效沟通和职责传递委派

      常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。
      不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式
    

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小睿丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值