上帝对象

✍ dations ◷ 2025-12-07 21:07:54 #反模式

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

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

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

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

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

相关

  • ACE抑制剂血管紧张肽I转化酶抑制剂(英语:ACE inhibitor,简称为ACEI)是一类抗高血压药。血管紧张素转化酶(ACE)是肾素-血管紧张素-醛固酮(RAA)系统中的一个重要环节,该系统对血压的调节有着及其
  • 安东万·拉瓦锡安托万-洛朗·德·拉瓦锡(法语:Antoine-Laurent de Lavoisier,1743年8月26日-1794年5月8日),法国贵族,著名化学家、生物学家,被后世尊称为“近代化学之父”。他使化学从定性转为定量
  • 诺曼底诺曼底(法语:Normandie,发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","Gen
  • 吴新涛吴新涛(1939年4月6日-),福建石狮人,中国物理化学家。生于福建石狮。1960年毕业于厦门大学化学系。1966年福州大学物理化学专业研究生毕业。中国科学院福建物质结构研究所研究员、
  • 圣传圣传(英语:sacred tradition 或 holy tradition)是一个基督教神学术语,用于指某些基督教传统,特别是在指天主教会、圣公宗、正教会、东方正统教会的历史传统,这涉及到基督教教会的
  • 周永春周永春(1573年-1639年),字孟泰,号毓阳,山东金乡县城北关人。万历二十九年(1601年)辛丑科进士。历任知县、礼科给事中、太常寺少卿、辽东巡抚。因开原失陷,天启初年(1621年)遭遣戍。终官
  • 谦 福谦福(1809年-?), 额尔德特氏, 字光庭, 号六吉, 一号小榆, 蒙古镶黄旗人,清朝官员。道光十四年(1834年)甲午科举人,十五年(1835年)乙未科进士。后任户部主事、詹事府左中允、翰林院侍讲
  • 海上人命安全公约《国际海上人命安全公约》(英语:International Convention for the Safety of Life at Sea,缩写:SOLAS )或称《海上人命安全公约》,现称《关于1974年国际海上人命安全公约之1978年
  • 磷酸镧磷酸镧是一种无机化合物,化学式为LaPO4。磷酸镧可由可溶性镧盐和磷酸钠反应得到:
  • 陈国伟陈国伟(马来语:Tan Kok Wai;1957年10月7日-),男,汉族,祖籍福建省泉州市永春县。马来西亚政治人物,为民主行动党全国主席。现任马来西亚总理对华特使 (属部长级官职)。他也是吉隆坡蕉赖