美文网首页
设计模式概述

设计模式概述

作者: CallMe兵哥 | 来源:发表于2020-01-05 23:35 被阅读0次

    设计模式概述

    ​ 一个成熟的系统设计者,往往能设计出比较优秀的代码,就跟一个建筑设计师一样。我们经常能客观的感觉到这个建筑的魅力,我们往往惊叹其雄伟、漂亮、壮观、震感。这个就是建筑给我们带来的直观感觉。而程序,往往没有这么直观的冲击,有时候,我们自然而然的使用了某个设计模式。但是因为我们没有系统的学习过设计模式,所以我们不知道。简单举例:在现在很流行的微服务架构里面,是不是有个网关API?这个网关API,就是门面模式 (Facade),是不是一下子就有了感觉,原来设计模式一直都在我身边,只是我没有发现。所以,其实设计模式,就是总结好旧的经验,用来解决新的问题。

    ​ 本篇只是设计模式的概述,我简单介绍一下我后续博客里面更新使用到的相关书籍或者视频。

    • 《设计模式:可复用面向对象软件的基础》

    • 《设计模式之禅》

    • 《深入浅出设计模式》

    • “马士兵老师讲解的设计模式视频”,这个很多视频网站都有。

      设计模式从使用的最终目的上来分,分为三种:

      创建型设计模式

      结构性设计模式

      行为型设计模式

    ​ 这三类总计包括了23种设计模式,这里我就不一一列举,其实大家可有百度或者随便找本书都能查到,列出来我怕大家看了就不想学习。以下我将列出来我认为最重要的几种设计模式,可能也是面试问得最多的几种设计模式。

    • 单例模式(Singleton):几乎面试必问,其实也是非常常见的设计模式。

    • 工厂方法模式(Factory Method):也是非常常见,大家应该基本都听过。

    • 抽象工厂(Abstract Factory):抽象工厂,是工厂模式的升级,工厂是生成产品,抽象工厂,则是生成产品族。

    • 代理模式(Proxy):这个很重要,必须要弄明白。

    • 责任链模式(Chain of Responsibility):也经常用到,不能忽略。

    • 观察者模式(Observer):这也是比较重要的一个模式。

      当然,其他的设计模式,也是非常有作用,但是我个人认为,它们没有我以上列举的几种设计模式重要。后续我会分别对每一种设计模式展开说明。

    相关文章

      网友评论

          本文标题:设计模式概述

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