上帝对象

✍ dations ◷ 2025-12-08 22:47:40 #反模式

在面向对象编程领域, 一个上帝对象(God object)是一个或者的对象。 上帝对象是反面模式的一个例子。

结构化编程背后的基本概念是一个大型的问题应该被分解成为多个较小的问题中(分而治的策略)并且针对每个较小的问题提出解决方案。当每个小问题都得到解决后,大问题本体就得到了解决。因此对象应该知道的一切就是。类似的,对象应该解决的问题是它问题。

基于上帝对象编写的代码并不遵从上述的方式。取而代之的是程序的整体功能都被编程到一个单一的"了解全部"的对象当中,这个对象维护了整个程序的大部分信息并且提供了操作数据的大部分方法。所以这个对象持有过多的数据以及负责过多的方法,它在程序中的角色就如同上帝一般。不同于编写直接在彼此之间进行交互的对象,其他程序中的对象都依赖于这个上帝对象获得信息以及交互。由于上帝对象被过多的其他代码所引用,相比一个进行了均匀切分的程序而言维护变得更加的困难。

在过程化编程语言中没有使用子程序或者过多的使用了全局变量进行信息存储都是在面向对象编程编程中的上帝对象的一个类似物。

创造一个上帝对象通常都被认为是一个不好的编程实现,这种技术偶尔会在紧耦合的编程环境中(如微处理器)被使用,在这些环境中微小的性能提升以及控制集中相比于维护以及编程的优雅而言是更加重要的。

相关

  • 马士英《瑶草先生遗像》,民国·凌惕安绘马士英(1596年-1647年),字冲然,号瑶草,贵州贵阳人,祖籍直隶仪真(今江苏仪征),明末、南明政治人物,进士出身。诰授光禄大夫,太仆寺少卿马明卿四子。万历四
  • 帕尔加勒·易卜拉欣帕夏帕尔加勒·易卜拉欣帕夏(土耳其语:Pargalı İbrahim Paşa;1495年-1536年3月15日),帕尔加勒之名意为“来自帕尔加的”,他也被称为弗伦克·易卜拉欣帕夏(Frenk Ibrahim Pasha;“西方
  • 律政司在大多数普通法国家和区域,律政司(Attorney-General 或 Attorney General),或译总检察长、司法部长、律政部长、总法务司、法务总长等,是政府的主要法律顾问。一部分司法辖区的律
  • 澳大利亚广播公司新闻频道澳大利亚广播公司新闻频道(英语:ABC News),前称澳大利亚广播公司24小时新闻频道(英语:ABC News 24),是由澳大利亚广播公司运营所有的一个24小时新闻频道,于2010年7月22日开始播出。20
  • 影武者 (电影)《影武者》又名《影子武士》,是一部1980年上映、由日本著名电影导演黑泽明执导的日本电影,“影武者”谓日本战国时代中样貌形象与大名相似的替身。该片男主角一开始由《盲剑客
  • 大罗伊大罗伊(Grand Roy)是格林纳达的城镇,位于该岛西部海岸,古亚夫到马里戈特北部的道路上,距离古亚夫以南5.2公里,由圣约翰区负责管辖,海拔高度27米,人口约2,400人。
  • 黛安·菲特里亚尼黛安·菲特里亚尼(印尼语:Dian Fitriani,1993年3月21日-),印尼女子羽毛球运动员。2014年7月,黛安·菲特里亚尼出战中华台北公开赛,与娜达娅·美拉提合作打进女子双打四强。只列出曾
  • 创造力团体创造力团体是一个由经济学家和社会科学家理查德·弗罗里达所提出的假设社会经济团体。据其,创造力团体是一个在美国后工业城市之经济发展中的关键驱动力。
  • 岸本美绪岸本美绪(1952年4月-),是日本历史学家,以研究中国明代、清代的社会经济史而闻名于史学界,现为御茶水女子大学教授和日本学术会议会员。
  • 向峨乡向峨乡,是中华人民共和国四川省成都市都江堰市下辖的一个乡镇级行政单位。2019年12月,撤销向峨乡、蒲阳镇,设立蒲阳街道,以原向峨乡和原蒲阳镇所属行政区域为蒲阳街道的行政区域