当前位置: 首页 > news >正文

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

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

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

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

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

设计模式的好处

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

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

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

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

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

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

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

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

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

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

知识来源:马士兵教育

图文详解 23 种设计模式

http://www.lryc.cn/news/158058.html

相关文章:

  • mysql(十)mysql主从复制--主库切换
  • vue3项目的src下的各个文件夹介绍
  • 五、编译预处理
  • 应用出海,Google 分享如何让数字营销素材再上层楼
  • 酱香咖啡喝了没?用数据分析揭秘瑞幸咖啡的7500万用户增长策略
  • Grafana之魔法:揭秘数据可视化的艺术
  • c高级day2作业
  • 第3章 【MySQL】字符集和比较规则
  • 2023 年全国大学生数学建模D题目-圈养湖羊的空间利用率
  • 攻防世界-WEB-ics-05
  • typedef的四种用法
  • Rstudio开不开了怎么办?R is taking longer to start than usual
  • kubernetes 集群安装加载 br_netfilter 模块
  • CATIA Composer软件安装包分享(附安装教程)
  • 入行测试一年半的心得体会
  • Vue的props配置项
  • Python开源项目周排行 2023年第32周
  • Python实现猎人猎物优化算法(HPO)优化卷积神经网络回归模型(CNN回归算法)项目实战
  • mysql8 Found option without preceding group错误
  • uniapp 路由不要显示#
  • 算法设计与分析 | 最多约数
  • MySQL 数据库常用操作语句的总结
  • 【面试经典150题】H 指数
  • ARM DIY(十)LRADC 按键
  • 每日一练 | 网络工程师软考真题Day31
  • 最优化:建模、算法与理论(优化建模——2)
  • 库的相关操作
  • 程序分区:全局区、常量区、栈区、堆区、代码区
  • Jtti:windows虚拟机如何设定永久静态路由
  • RocketMQ(3)之事务消息