• java八股文面试[设计模式]——23种设计模式


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

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

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

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

    设计模式的好处

    不再编写 bullshit-code
    提高复杂代码的设计开发能力
    有助于我们读懂源码,学习框架更加事半功倍

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

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

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

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

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

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

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

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

    知识记忆:抽工单建原 配饰代观桥  组元观模策  代命态责备  访中释

    知识来源:马士兵教育

    图文详解 23 种设计模式

  • 相关阅读:
    Rust权威指南配套手把手笔记
    激光slam学习
    利用C++开发一个迷你的英文单词录入和测试小程序-源码
    关于一次两段式提交和数据库恢复数据我的一些想法
    我的随记杂记
    (附源码)spring boot校园二手交易平台 毕业设计 191637
    【BOOST C++ 5 】通信(05 windows相关的对象 )
    《Upload-Labs》01. Pass 1~13
    大数据在智慧城市建设中的应用
    一名资深架构师规划Java程序员五年职业生涯指南
  • 原文地址:https://blog.csdn.net/u200814342A/article/details/132743050