美文网首页
搬砖方法论:上帝对象(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)

    定义 在面向对象编程领域,上帝对象(God object)是一个了解过多或者负责过多的对象。 上帝对象是 反模式(...

  • 搬砖方法论:搬砖的6个阶段

    快、稳、轻、简、美、优 总共这个6个阶段 快 为了实现而实现,速度第一位,能运行即可 稳 保证少出BUG,不出BU...

  • 搬砖 ‘搬砖’

    生儿生女有啥差别?听听院子里几位大妈的感慨,张大妈说:生女儿好,不用操心买车买房,生儿子的现在取媳妇都难,车、房、...

  • Bitcoin Elven

    一、我为什么要研究搬砖 原因:穷 二、我是怎么搬砖的 搬砖的形式有很多种,主要就是硬搬砖和对冲搬砖,其中,硬搬砖是...

  • 搬砖方法论:控制反转

    我需要一个汉堡 当我们去快餐店向服务员说需要一个汉堡时,服务员会向我们提供一个已经加工完成的汉堡。可能每次提供的汉...

  • 说说交易市场中的搬砖

    今天来说说咱们币圈朋友经常说的搬砖。当然。此“搬砖”并非是在工地里搬砖哈。而是在交易市场里搬砖。 那这个搬砖怎么搬...

  • [区块链入门必备]第3期-法币搬砖

    法币搬砖是利润最高的搬砖方式,同时也是需要资源最多的搬砖方式。下面介绍两种常见的法币搬砖方式。 中韩法币搬砖 需要...

  • 零风险搬砖套利

    什么是搬砖? 首先我们来举个例子什么是搬砖? 搬砖:搬砖就是通过不同交易平台之间的差价来获利的行为就是搬砖, 在这...

  • 第43周检视总结(10.30-11.4)

    God’s delay isn't, God’s denial! 上帝的延迟不是上帝的拒绝 文|筱丽 ——————...

  • 法币搬砖——Zfund量化套利

    法币搬砖是利润最高的搬砖方式,同时也是需要资源最多的搬砖方式。下面介绍两种常见的法币搬砖方式。 中韩法币搬砖 01...

网友评论

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

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