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

java设计模式[1]之设计模式概览

文章目录

  • 设计模式
    • 什么是设计模式
    • 为什么要学习设计模式
    • 设计模式的设计原则
    • 设计模式的分类

设计模式

什么是设计模式

  • 设计模式是前人根据经验的总结,是软件开发中的最佳实践,帮助开发者在面对复杂设计问题时提供有效的解决方案。设计模式不仅仅只是一种规范,更多的是一种设计思路和经验总结。
  • 设计模式的作用:传承经验,提高软件复用的水平,提高软件开发效率。
  • 设计模式研究如何写出可扩展、可读、可维护的高质量代码,跟编码直接相关,直接影响开发能力。

为什么要学习设计模式

  1. 应对面试中涉及到的设计模式的相关问题
  2. 提高自身应对复杂代码的设计和开发能力
  3. 增强学习底层技术,读源码更加事半功倍
  4. 让自身的职业生涯更好的发展
  • 学好设计模式的目的:提高编码能力,创作优质代码。

设计模式的设计原则

  • 设计原则是指导代码设计的一些经验总结,对于某些场景下,是否应该应用这种设计模式,酷游指导性意义。
设计原则说明
单一职责一个类只负责一项职责
里氏替换原则子类可以扩展父类的功能,但不能改变父类原有的功能
依赖倒置原则要依赖于抽象,不能依赖于具体,核心思想是面向接口编程
接口隔离原则建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少
迪米特法则(最少知道原则)一个对象应该对其他对象保持最少得了解
开闭原则对拓展开放,对修改关闭

设计模式的分类

  • 设计模式可以分为三大类:创建型模式、结构性模式、行为型模式
    在这里插入图片描述
  • 创建型模式:用于创建对象。
    在这里插入图片描述
  • 结构型模式:关注对象和类的组织。
    在这里插入图片描述
  • 行为型模式:关注系统中对象之间的相互交换,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11种模式。
    在这里插入图片描述
http://www.xdnf.cn/news/1036873.html

相关文章:

  • 免费电子印章生成工具,可在线设计印章
  • TLSF 内存分配器
  • 通达信跟老庄追涨停指标公式
  • 【大模型分布式训练】多卡解决单卡训练内存不足的问题
  • Python学习笔记面向对象编程
  • Python 中的 `lru_cache` 详解
  • 固件签名技术深度解析:HSM模块如何守护设备安全,CAS系统如何赋能产业升级
  • pytest的装饰器`pytest.mark.parametrize` 和 `@pytest.mark.smoke`区别
  • 中国电信天翼物联学习总结笔记:线上生成模型
  • 未来行业发展趋向
  • JavaScript 事件循环
  • 19 - SAFM模块
  • 27 - ASPP模块
  • 【redis——缓存雪崩(Cache Avalanche)】
  • 专注于PLC数据采集MES交互解决方案
  • 位运算详解之异或运算的奇妙操作
  • docker安装mysql数据库及简单使用
  • 鸿蒙NEXT-Data类型数据通过AppStore获取后找原本一样的数据(值一样)但是比较结果却为false
  • 关于cv::solvePnP算法的理解
  • Vue动态路由
  • 音频驱动数字人13款深度评测
  • leetcode_503 下一个更大元素
  • <11>-MySQL事务管理
  • 精益数据分析(103/126):免费移动应用的下载量、成本优化与案例解析
  • python队列练习 2022年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析
  • 使用 MoviePy 实现图像序列合成视频并添加背景音乐
  • 层压板选择、信号完整性和其他权衡
  • JasperReport生成PDF/A类型文档
  • C++:编译和链接拓展
  • R语言非结构化文本挖掘入门指南