美文网首页
搬砖方法论:上帝对象(God Object)

搬砖方法论:上帝对象(God Object)

作者: su9257_海澜 | 来源:发表于2021-05-06 22:27 被阅读0次

    定义

    在面向对象编程领域,上帝对象(God object)是一个了解过多或者负责过多的对象。 上帝对象是 反模式(anti-pattern) 和 代码异味(code smell)的例子。

    全能的上帝

    笔者曾在某个项目遇到了这种"上帝"工具类HelperTools,里面涵盖的功能真是五花八门,UI快捷设置、时间戳的各种扩展、数据的验证、对应的业务逻辑等等。

    犹如工具类的跳蚤市场,新旧API集聚于此,少则几千行,多则上万,里面的工具函数真是的是无所不知,无所不能,但是想要驾驭上帝,确实太难了~

    是什么造就了上帝?

    出现这种问题基本都是一下几点

    • 工具类的职责没有统一的规划
    • 缺少公共组件的维护
    • 向工具类中添加函数无限制

    最重要的原因是公共组件并没有受到重视,慢慢就会变成整个项目中随意丢弃烂代码的垃圾站。

    总结

    工具类中的API变动应该是缓慢的,判断是否应该向工具类中添加函数可从一下几条进行判断

    • 不涉及具体模块的业务逻辑
    • 通用性强
    • 可写成扩展方法
    • 其函数所需要的依赖是稳定性依赖
    • 原始工具类中的职责与其相关
    • 其复杂性不能通过简单几行代码代替

    更多文章详见主页:www.aihailan.com

    相关文章

      网友评论

          本文标题:搬砖方法论:上帝对象(God Object)

          本文链接:https://www.haomeiwen.com/subject/tfsjdltx.html