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

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

文章目录

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

设计模式

什么是设计模式

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

为什么要学习设计模式

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

设计模式的设计原则

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

设计模式的分类

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

相关文章:

  • java33
  • 23 - HaLoAttention模块
  • 从事算法工作对算法刷题量的需求
  • 从代码学习深度学习 - 子词嵌入 PyTorch版
  • JUC核心解析系列(三)——并发容器深度解析
  • acm模式stringstream
  • Windows平台进程加速方案研究:以网盘下载优化为例
  • Relin梦中门——第二章——感官
  • 带中断计数器的UART接收中断程序 (8259@400H/402H)
  • FreeRTOS定时器
  • Element Plus 去除下拉菜单周黑边
  • Ant Design 版本演进详解:从 1.x 到 5.x 的发展历程
  • docker安装mysql数据库及简单使用
  • 自恢复式保险丝如何实现自恢复?
  • 走线宽度对高频插入损耗的影响
  • Blender——建构、粒子、灯光、动画
  • TensorFlow Serving学习笔记2: 模型服务
  • Linux下成功编译CPU版Caffe的保姆级教程(基于Anaconda Python3.8 包含完整可用Makefile.config文件)
  • 使用预训练卷积神经模型进行分类(MATLAB例)
  • 【读点论文】A Survey on Open-Set Image Recognition
  • 网站开发和推广的不同/军事新闻 今日关注
  • 阿里云服务器登录入口/seo网站推广如何做
  • 一站式做网站公司/网站seo优化分析
  • 如何设计一个完整的网站/如何做网络推广
  • 网站建设相关知识/目前最好的引流推广方法
  • 抖音特效开放平台官网/衡阳seo外包