V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mr0joker
V2EX  ›  程序员

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

  •  
  •   mr0joker · 2019-08-15 17:24:42 +08:00 · 1049 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。
    3 条回复    2019-08-16 14:50:24 +08:00
    Takamine
        1
    Takamine  
       2019-08-16 00:00:38 +08:00 via Android
    设计模式是思想大于定式吧。
    exploreXin
        2
    exploreXin  
       2019-08-16 10:47:42 +08:00   ❤️ 1
    设计模式本来就是把复杂的东西模块化之后的设计方案,而函数在设计模式中要遵循低耦合的设计原则,也就是函数应该尽可能的小,把用在整个项目的设计模式用于单个函数设计,本身就违背了设计模式的原则,如果这样你觉得没明白,那么把函数比作砖头,设计模式比作搭建摩天大楼的方案,那么现在能不能把大楼的方案用来设计砖头呢?非要这样做也不是不可以,但是你的砖头要做的足够大,大到能够容纳一座摩天大楼!!

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

    所以只有当你要把老旧的代码重构或添加新功能模块时,你才会发现设计模式的神奇作用。你会庆幸当初为大力气实现的设计模式,让你的项目变的容易改动与扩展。
    mr0joker
        3
    mr0joker  
    OP
       2019-08-16 14:50:24 +08:00
    @exploreXin 恩,谢谢,之前组长希望让我通过装饰者模式去重构一个魔鬼函数,后面随着对函数了解的深入,我发现很难应用进去,所以我就以函数重构的标准去重构了,但是产生了一点疑惑,所以问问。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2427 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:03 · PVG 00:03 · LAX 09:03 · JFK 12:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.