设计模式究竟有几个原则

2024-05-16 13:25:26 +08:00
 jqknono

最早总结的设计模式只有 5 个, 即SOLID:

后来增加了两个规则, 这些后加的规则相较来说更具体, 更有指导性. 我们从原则解释中可以看到SOLID描述应该怎么做, 后加的规则描述优先/最好怎么做.

除了上述提到的常见设计原则外,还有一些其他的设计原则,虽然不如前面提到的那些广为人知,但同样对软件设计和架构有重要的指导作用。 后续提出的这些规则, 有点画蛇添足, 至少我认为它们不反直觉, 不需要深入思考.

2448 次点击
所在节点    程序员
14 条回复
yidinghe
2024-05-16 13:30:31 +08:00
设计模式是什么,说白了就是一些套路。套路是会不断增加的。
me1onsoda
2024-05-16 13:37:28 +08:00
唯一原则,KISS, keep it simple stupid
iosyyy
2024-05-16 13:45:04 +08:00
无限 你自己也可以加一条本身设计模式只是一种实用方法的总结
zgsi
2024-05-16 14:15:54 +08:00
As long as it works
lux182
2024-05-16 14:34:57 +08:00
单一职责 理解这个就好了
wanguorui123
2024-05-16 15:17:07 +08:00
关注点分离原则
ChangJingli
2024-05-16 16:05:05 +08:00
kerwincsc
2024-05-16 16:08:56 +08:00
以前有很多原则, 现在只有一个: 混沌原则
F7TsdQL45E0jmoiG
2024-05-16 17:05:34 +08:00
抽象、复用
darkengine
2024-05-16 17:42:08 +08:00
个人理解: 合成/聚合复用原则 和 迪米特法则 都是从 开闭原则 衍生出来的
jqknono
2024-05-16 20:54:33 +08:00
@darkengine 握手,我也是同样的理解。我甚至觉得开闭原则是元原则,看上去 SLID 都有和开闭交叉的地方。
uni
2024-05-17 10:12:06 +08:00
只有一个原则,那就是放弃设计模式,拥抱函数式编程(
jqknono
2024-05-17 10:17:29 +08:00
@uni 细说
uni
2024-05-17 17:08:05 +08:00
@jqknono #13 只是我个人的体会了,可以去学一下 Haskell ,然后自己在用其它语言写代码的时候多花点时间想一下自己想要的东西在 Haskell 里面要怎么写,然后就会发现设计模式的那些想法全都是在隔靴搔痒,你说的那些设计模式的精髓部分在函数式里面全都是很自然而然的写法(比如说,多用组合而不是继承,如果是一个已经习惯于函数式编程的人,根本就不知道什么是继承,自然而然就会用组合了,还有什么单一原则其实就是无副作用,这些在函数式编程里面都是非常自然的东西)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1041288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX