Python:设计模式之反模式

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

不良设计

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

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

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

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


反模式分类

软件开发反模式

软件架构反模式

软件开发反模式

1、意大利面条式代码

控制流程错综复杂


2、金锤

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

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


3、熔岩️流

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


4、复制粘贴式编程

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


软件架构反模式

1、重新发明轮子

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


2、供应商套牢

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


3、委员会设计

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



参考

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

            </div>
目录
相关文章
|
23天前
|
设计模式 SQL 算法
设计模式了解哪些,模版模式
设计模式了解哪些,模版模式
21 0
|
2月前
|
设计模式 Java uml
C++设计模式之 依赖注入模式探索
C++设计模式之 依赖注入模式探索
40 0
|
3月前
|
设计模式 前端开发 JavaScript
观察者模式 vs 发布-订阅模式:两种设计模式的对决!
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
19天前
|
设计模式 Java 数据库
小谈设计模式(2)—简单工厂模式
小谈设计模式(2)—简单工厂模式
|
4天前
|
设计模式 消息中间件 Java
Java 设计模式:探索发布-订阅模式的原理与应用
【4月更文挑战第27天】发布-订阅模式是一种消息传递范式,被广泛用于构建松散耦合的系统。在 Java 中,这种模式允许多个对象监听和响应感兴趣的事件。
20 2
|
7天前
|
设计模式 存储 JavaScript
[设计模式Java实现附plantuml源码~创建型] 多态工厂的实现——工厂方法模式
[设计模式Java实现附plantuml源码~创建型] 多态工厂的实现——工厂方法模式
|
7天前
|
设计模式 Java Go
[设计模式Java实现附plantuml源码~创建型] 集中式工厂的实现~简单工厂模式
[设计模式Java实现附plantuml源码~创建型] 集中式工厂的实现~简单工厂模式
|
9天前
|
设计模式
设计模式(一)简单工厂模式
设计模式(一)简单工厂模式
14 0
|
19天前
|
设计模式 Java
小谈设计模式(9)—工厂方法模式
小谈设计模式(9)—工厂方法模式
|
28天前
|
设计模式 Java
23种设计模式,工厂方法模式的概念优缺点以及JAVA代码举例
【4月更文挑战第10天】工厂方法模式是设计模式中的一种创建型模式,它主要解决的问题是对象创建的问题。它定义了一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。工厂方法让类的实例化推迟到子类中进行。
27 3