Python:设计模式之反模式

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

不良设计

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

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

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

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


反模式分类

软件开发反模式

软件架构反模式

软件开发反模式

1、意大利面条式代码

控制流程错综复杂


2、金锤

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

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


3、熔岩️流

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


4、复制粘贴式编程

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


软件架构反模式

1、重新发明轮子

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


2、供应商套牢

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


3、委员会设计

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



参考

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

            </div>
目录
相关文章
|
SQL 存储 关系型数据库
Mysql 的InnoDB引擎下支持hash索引吗?
Mysql 的InnoDB引擎下支持hash索引吗?
1092 0
Mysql 的InnoDB引擎下支持hash索引吗?
|
Cloud Native 数据库 Docker
云原生之使用Docker部署Dokuwiki个人笔记工具
云原生之使用Docker部署Dokuwiki个人笔记工具
1154 0
|
JavaScript
Selenium成长之路-25 日历控件的处理
Selenium成长之路-25 日历控件的处理
389 0
Selenium成长之路-25 日历控件的处理
|
Arthas 小程序 前端开发
抖音小程序集成支付宝支付
抖音小程序集成支付宝支付
1724 0
抖音小程序集成支付宝支付
|
JavaScript jenkins Linux
Vue整合element-china-area-data实现PC端省市区三级联动选择器
demo环境是SpringBoot+Vue+elementUI,开发工具是idea,有涉及到省市区三级联动选择器,网上查找了下,发现了这款和elementUI相匹配的element-china-area-data,这样的话样式什么的就不用担心会很丑,也不需要调,最主要是还可以直接获取到省市区编码,都不用通过后台接口转换。于是就撸起袖子,满心欢喜的整进来。
2178 0
Vue整合element-china-area-data实现PC端省市区三级联动选择器
|
SQL JSON 缓存
Seata json decode exception, Cannot construct instance of `java.time.LocalDateTime` 报错原因/解决方案最全汇总版
Seata json decode exception, Cannot construct instance of `java.time.LocalDateTime` 报错原因/解决方案最全汇总版
2062 0
Seata json decode exception, Cannot construct instance of `java.time.LocalDateTime` 报错原因/解决方案最全汇总版
|
编解码 计算机视觉
【方便的Opencv】实现实时监测电脑屏幕与摄像头前的人
【方便的Opencv】实现实时监测电脑屏幕与摄像头前的人
1254 0
【方便的Opencv】实现实时监测电脑屏幕与摄像头前的人
|
负载均衡 算法 网络协议
微服务5:服务注册与发现(实践篇)
微服务5:服务注册与发现(实践篇)
381 0
微服务5:服务注册与发现(实践篇)
|
Java Linux Android开发
这次,我想把内存泄漏讲明白
这次,我想把内存泄漏讲明白
529 0
这次,我想把内存泄漏讲明白