Martin Fowler 谈反模式

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

andrew koenig 在 joop [1] 的一篇文章中首先创造了术语“反模式”,遗憾的是在 Internet 上没有。基本思想(我记得 [2] )是反模式在您开始时似乎是个好主意,但会给您带来麻烦。从那以后,这个词经常被用来表示任何坏主意,但我认为最初的焦点更有用。

在论文中 koenig 说:

反模式就像模式一样,只是它提供的不是解决方案,而是表面上看起来像解决方案但实际上不是解决方案的东西。

——安德鲁·科尼格

这就是使一个好的反模式与一件坏事分开来指出和嘲笑的原因。它看起来像是一个好的解决方案这一事实是它的根本危险。因为看起来不错,所以理智的人会走这条路——只有你付出了很多努力,你才会知道这是不好的结果。

在编写反模式的描述时,如果您选择了错误的路径,描述如何摆脱麻烦是很有价值的。我认为这很有用但不是必需的。如果没有摆脱它的好方法,那不会降低警告的价值。

记住相同的解决方案在某些情况下可能是好的模式而在其他情况下可能是反模式是很有用的。解决方案的价值取决于您使用它的环境。

笔记

1:面向对象程序设计杂志,第 8 卷,第 1 期。 1. 1995 年 3 月/4 月,随后在 linda rising 编辑的"the patterns handbook" 中重印(剑桥大学出版社)

2:我没有论文的副本,所以我主要靠记忆和一些旧笔记。

相关文章