Python:设计模式之反模式

简介: Python:设计模式之反模式

不良设计

不动性:应用程序难以重用

刚性:任何小的修改都会导致软件的大多部分必须进行相应改动,牵一发动全身

脆弱性:任何更改都会导致先有系统变得非常容易崩溃

粘滞性:由于架构层面的修改非常困难,因此修改必须由开发人员在代码或环境本身中进行


反模式分类

软件开发反模式

软件架构反模式

软件开发反模式

1、意大利面条式代码

控制流程错综复杂


2、金锤

由于某个解决方案(技术,设计或模块)在多个项目中效果不错,就把它推广到更多的地方

金锤:使用成熟的解决方案,不管是不是满足适用性


3、熔岩️流

一段用不到的代码,害怕修改了会破话其他东西,随着时间流逝,这段代码会一直留在软件中并固化其位置


4、复制粘贴式编程

没有考虑这些代码是否经过了最大化的优化,是否真正适合当前场景


软件架构反模式

1、重新发明轮子

如果已经有相同的解决方案,在遇到的时候可以重用方案,不必重新发明轮子


2、供应商套牢

产品公司依赖于供应商提供的某些技术,难以摆脱这些技术


3、委员会设计

没有相应技能或相应产品设计经验的技术专家设计的特性系统



参考

《Python设计模式第2版》第十一章 反模式

            </div>
目录
相关文章
|
10月前
|
机器学习/深度学习 文件存储 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
1130 18
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
|
数据可视化 算法 数据挖掘
在水利系统工程中,系统工程的方法论同样适用,并可以通过Python等编程语言来实现相关的分析和优化。
在水利系统工程中,系统工程的方法论同样适用,并可以通过Python等编程语言来实现相关的分析和优化。
|
JSON JavaScript 前端开发
vue项目使用Print.js插件实现PDF文件打印
vue项目使用Print.js插件实现PDF文件打印
1648 0
|
存储 关系型数据库 MySQL
索引下推,这个点你肯定不知道!
索引下推(Index Condition Pushdown) ICP 是Mysql5.6之后新增的功能,主要的核心点就在于把数据筛选的过程放在了存储引擎层去处理,而不是像之前一样放到Server层去做过滤。 虽然这是一个比较简单的概念,但是可能很多不细心的同学对于索引下推会存在一个小小的误区,至于是什么,请看下文。
索引下推,这个点你肯定不知道!
|
网络安全 C++ Apache
“Connection refused” vs “No route to host”
曾经在http://blog.csdn.net/bisal/article/details/42496583这篇博文中提到一个端口连接的验证: “ora10g@localhost.
4364 0
|
网络协议 测试技术 数据库
【工具】Netperf 的使用
   Netperf是一种网络性能测量工具,主要针对基于TCP或UDP的传输,Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。
1468 0
|
3天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1090 152