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

设计模式-概述*

1.代码的质量的评判

  • 可维护性:不破坏原有代码设计以及不引入新的bug的前提下,能够快速修改或新增代码;
  • 可读性:人类能理解的代码(编程规范-命名、函数是否冗长、类是否过大等);
  • 可扩展性:不修改或少量修改原有代码的前提下,通过扩展的方式添加新的功能;
  • 灵活性:已有代码不受影响、不产生冲突的前提下灵活的接入新代码;
  • 简洁性:使别人理解的时间最小化;
  • 可复用性:尽量减少重复代码的编写,复用已有代码;

2.设计模式概述

设计模式目录:22种设计模式设计模式目录根据意图、复杂程度和流行程度进行分组,包括创建型模式,结构型模式,和行为型模式。立即开始学习!icon-default.png?t=N7T8https://refactoringguru.cn/design-patterns/catalog        设计模式就是一套被反复使用的、经过分类编目的、代码设计经验的总结

3. 设计模式分类

3.1 创建型

        创建型模式提供了创建对象的机制,能够提升已有代码的灵活性和可复用性;

3.2 结构型

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

3.3 行为型

        行为模式负责对象间的高效沟通和指责委派

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 记录些MySQL题集(9)
  • 深入解析PHP框架:Symfony框架详解与应用
  • 使用MovaXterm连接VMware的centos
  • 数据库管理-第221期 Oracle的高可用-04(20240717)
  • OpenCV下的单目标定,双目标定与立体校正(calibrateCamera, stereoCalibrate and stereoRectify)
  • Linux网络编程-socket套接字使用详解
  • 简约唯美的404HTML源码
  • 什么是边缘计算技术和边缘计算平台?
  • 怎么防止文件被恶意外传
  • .Net--CLS,CTS,CLI,BCL,FCL
  • 【Linux】软件管理工具 yum
  • 在 vite+vue3+electron 中使用 express
  • Lua协程(同步的多线程)
  • Git的基础操作
  • cpp 强制转换
  • [NodeJS] 关于Buffer
  • docker容器内的网络抓包
  • HTTP 简介
  • Java IO学习笔记一
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JS数组方法汇总
  • mac修复ab及siege安装
  • maven工程打包jar以及java jar命令的classpath使用
  • Vue小说阅读器(仿追书神器)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 二维平面内的碰撞检测【一】
  • 构造函数(constructor)与原型链(prototype)关系
  • 机器学习 vs. 深度学习
  • 聚簇索引和非聚簇索引
  • 聊聊flink的BlobWriter
  • 源码安装memcached和php memcache扩展
  • 云大使推广中的常见热门问题
  • 通过调用文摘列表API获取文摘
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • 选择阿里云数据库HBase版十大理由
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • ### RabbitMQ五种工作模式:
  • #FPGA(基础知识)
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (007)XHTML文档之标题——h1~h6
  • (70min)字节暑假实习二面(已挂)
  • (function(){})()的分步解析
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (k8s中)docker netty OOM问题记录
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (五)MySQL的备份及恢复
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)树状数组
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ***检测工具之RKHunter AIDE
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net 验证控件和javaScript的冲突问题