设计模式可以应用到单个复杂函数的重构吗?

2019-08-15 17:24:42 +08:00
 mr0joker
1161 次点击
所在节点    程序员
3 条回复
Takamine
2019-08-16 00:00:38 +08:00
设计模式是思想大于定式吧。
exploreXin
2019-08-16 10:47:42 +08:00
设计模式本来就是把复杂的东西模块化之后的设计方案,而函数在设计模式中要遵循低耦合的设计原则,也就是函数应该尽可能的小,把用在整个项目的设计模式用于单个函数设计,本身就违背了设计模式的原则,如果这样你觉得没明白,那么把函数比作砖头,设计模式比作搭建摩天大楼的方案,那么现在能不能把大楼的方案用来设计砖头呢?非要这样做也不是不可以,但是你的砖头要做的足够大,大到能够容纳一座摩天大楼!!

如果说建造这样的砖头尚有可能的话,那么当这个砖头内部需要装修,维护,或者更换零件时,你绝对会有想死的心情。所以设计模式的巨大作用更多的体现在后期扩展与规划新功能上,那些唱衰设计模式的人都是没有真正做过大项目的人,他们只是 CURD 一套后台,然后配一套前端模板,之后就再也不会动后端代码了,所以他们不明白为什么写代码的时候要设计这个模式设计那个模式,多麻烦?几个函数咔咔咔工作就完成了,钱也轻轻松松拿到手了,什么单例,工厂模式都是扯淡 ......

所以只有当你要把老旧的代码重构或添加新功能模块时,你才会发现设计模式的神奇作用。你会庆幸当初为大力气实现的设计模式,让你的项目变的容易改动与扩展。
mr0joker
2019-08-16 14:50:24 +08:00
@exploreXin 恩,谢谢,之前组长希望让我通过装饰者模式去重构一个魔鬼函数,后面随着对函数了解的深入,我发现很难应用进去,所以我就以函数重构的标准去重构了,但是产生了一点疑惑,所以问问。

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

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

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

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

© 2021 V2EX