上帝对象

✍ dations ◷ 2025-11-19 15:50:56 #反模式

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

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

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

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

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

相关

  • 革囊胃革囊胃(Linitis Plastica),又称皮革胃(Brinton's disease、leather bottle stomach),是由横向浸润生长的胃癌导致的一种胃部病态结构变化。因其特征之一为胃壁变厚、僵硬,外观类似
  • 世界主义世界主义(英语:Cosmopolitanism)是一种意识形态,可从正义概念的普世性出发,每一个世界公民都不受歧视地自我决定其发展。世界主义则是此世界因互相依存的网络交流的全球状态。世
  • 外阴前庭阴道前庭,指小阴唇左右两侧之间的区域,前端抵阴蒂,后界至阴唇系带。开口于阴道前庭的结构有尿道、阴道、前庭大腺、斯基恩氏腺。阴道前庭疼痛非常常见;据密歇根大学的一项研究,28
  • 九面体在几何学中,九面体是指由9个面组成的多面体,而边长全部等长的九面体是七角柱是一种半正多面体。在九面体中,四角锥柱和它的对偶多面体都是九面体。在所有凸九面体中,包含镜射像
  • 阿拉伯语变体阿拉伯语变体(语言或方言)主要存在于六种不同区域,包括半岛阿拉伯语、美索不达米亚阿拉伯语、黎凡特阿拉伯语、埃及阿拉伯语、马格里布阿拉伯语和苏丹阿拉伯语。阿拉伯语本身是
  • 纽约时报诉沙利文案纽约时报诉沙利文案(New York Times Co. v. Sullivan, 376 U.S. 254 (1964)),美国最高法院在此案中确立了要求官员或公众人物在指控媒体报道涉嫌诽谤或侵害名誉时必须遵循的真
  • 信息集 (博弈论)博弈论中,信息集是指对于特定的参与者,建立基于其所观察到的所有博弈中可能发生的行动的集合。如果博弈是完美信息的,每个信息集只能有一个参与者,并显示博弈所处的阶段。否则,有
  • 国际太空站远征队列表这是一个依时间排序的国际太空站远征队列表。所有常驻于国际太空站的团队皆命名为“远征N”(Expedition ),其中的为数字,在每次远征后会连续增长。补给任务与太空游客不算远征队
  • 赤膀鸭 Linnaeus, 1758赤膀鸭(),俗称漈凫,是一种广泛分布的鸭。它们最初是由卡尔·林奈(Carolus Linnaeus)于1758年描述。赤膀鸭长约46-56厘米,翼展78-90厘米。繁殖期的雄鸭呈灰色,形成一
  • 樊宏樊宏(前1世纪-51年),东汉南阳湖阳人。汉光武帝的舅舅。性情温厚,东汉建立后,封寿张侯。二十七年,卒。有子樊儵删定《公羊严氏春秋》章句,世号樊氏学。