且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python:设计模式之反模式

更新时间:2022-06-19 06:53:12

不良设计

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

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

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

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


反模式分类

软件开发反模式

软件架构反模式

软件开发反模式

1、意大利面条式代码

控制流程错综复杂


2、金锤

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

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


3、熔岩️流

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


4、复制粘贴式编程

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


软件架构反模式

1、重新发明***

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


2、供应商套牢

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


3、委员会设计

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



参考

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