教练,我想学设计之禅

news/2025/1/31 7:50:15/

欢迎来到PaQiuQiu的空间

本文为【教练,我想学设计之禅】,方便大家更好的阅读!


<—写在前面—>

本专栏分四部分展开,设计模式与设计原则、算法与数据结构、架构设计以及实战为王

设计模式介绍了经典的23种设计模式,设计原则重点阐述SOLID原则

算法与数据结构详细描述典型的算法及数据结构

架构设计专注于在大型软件编写过程中的常用架构方法和思路;

实战为王,模式原则、算法数据结构在实际项目中的使用


一、设计模式与设计原则

不同设计模式的复杂程度、 细节层次以及在整个系统中的应用范围等方面各不相同。 我喜欢将其类比于道路的建造: 如果你希望让十字路口更加安全, 那么可以安装一些交通信号灯, 或者修建包含行人地下通道在内的多层互通式立交桥。

最基础的、底层的模式通常被称为惯用技巧。这类模式一般只能在一种编程语言中使用。

最通用的、高层的模式是构架模式。 开发者可以在任何编程语言中使用这类模式。 与其他模式不同, 它们可用于整个应用程序的架构设计。

在这里插入图片描述


http://www.ppmy.cn/news/19564.html

相关文章

DFS(五)N皇后

51. N 皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案…

C++编译之(4)-进阶-cmake设置install及package配置

C编译之(4)-进阶-cmake设置install及package配置 引言 上一节我们介绍到了如何使用cmake快速构建项目&#xff0c;实现c/c的构建自动化&#xff1b;那么项目构建完成后往往需要安装或者打包发布 这一节&#xff0c;我们将介绍&#xff0c;如何用cmake实现安装及打包 相关系列…

【015 关键字】typedef和define的区别

一、两者区别 关键字typedefdefine&#xff08;宏&#xff09;作用不同定义&#xff08;标识符或关键字&#xff09;别名简单字符串替换执行时间不同编译过程一部分预处理过程完成作用域不同从定义到花括号“}”截至从定义到文件结尾截止 对指针操作不同 typedef int* INTPTR…

Vue3【1.v-if 和 v-show 、2.动态组件、 3.网页的渲染 、4.v-for】

文章目录1.v-if 和 v-show2.动态组件3.网页的渲染4.v-for4.1 v-for 与对象4.2 在 v-for 里使用范围值4.3 v-for 与 v-if4.4 通过 key 管理状态4.5 组件上使用 v-for1.v-if 和 v-show v-show 可以根据值来决定元素是否显示&#xff08;通过display来切换元素的显示状态&#xff…

(python)selenium工具的安装及其使用

selenium概述 一个自动化测试工具。它可以让python代码调用浏览器。并获取到浏览器中加载的各种资源 优缺点&#xff1a; 优点 selenium能够执行页面上的js&#xff0c;对于js渲染的数据和模拟登陆处理起来非常容易使用难度简单爬取速度慢&#xff0c;爬取频率更像人的行为&a…

网狐大联盟非联盟成员无法创建房间解决-暂时不可创建当前游戏,请选择其他游戏!

"暂时不可创建当前游戏,请选择其他游戏!" 问题所有lua文件定位:

【Linux】六、Linux 基础IO(三)|文件系统|软硬链接|文件的三个时间

目录 八、文件系统 8.1 磁盘 8.1.1 磁盘的物理结构 8.1.2 磁盘的存储结构 8.1.3 磁盘的逻辑结构 8.2 inode 九、软硬链接 9.1 软链接 9.2 硬链接 9.3 当前路径(.)和上级路径(..) 十、文件的三个时间 八、文件系统 上面的内容谈论的都是一个被打开文件&#xff0c;那…

[数据结构基础]排序算法第一弹 -- 直接插入排序和希尔排序

一. 排序的概念及分类 1.1 排序的概念 排序&#xff0c;就是使一串数据&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 1.2 常见的排序算法 图1.1按照排序算法的思想&#xff0c;将排序分为四大类&#xff1a;插入排序、选择排序…