上帝对象

✍ dations ◷ 2025-11-27 11:54:37 #反模式

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

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

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

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

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

相关

  • 弹性蛋白· protein binding · extracellular matrix constituent conferring elasticity· proteinaceous extracellular matrix · mitochondrion· skeletal muscle tissue de
  • 卢瓦雷省卢瓦雷省(法文:Loiret)是法国中央大区所辖的省份。该省编号为45。5个海外省及大区
  • 硫酸氧钒硫酸氧钒(IV),VOSO4,是钒的一个常见无机化合物。以三水合物和五水合物最为常见,而六水合物仅在13.6°C下存在。市售品的则未指定结晶水含量。这种极易潮解的蓝色固体是实验室中
  • 旧体系:新体系:李属(学名:Prunus),又名樱桃属、桃属、梅属、樱属、杏属,是蔷薇科的一个属。包括李子、樱桃、桃、杏、扁桃、和梅。传统上被放在蔷薇科作为一个亚科,李亚科(或桃亚科),但
  • 副皇帝凯撒(Caesar)在德文(Kaiser)之中意为“君主”,德意志族裔的君主都会用这个称呼。俄裔君主沙皇使用Tsar都是自凯撒而来。女性君主使用“Kaiserin”一词。
  • 重度忧郁重性抑郁疾患(英语:Major depressive disorder,缩写MDD),也可简称为抑郁症,是一种精神疾患,特征为超过两周的大多数时间都抑郁不已。常常伴随着没有精神、对一般休闲活动没有兴趣、
  • 纽黑文县新哈芬县(英语:New Haven County)是美国康乃狄克州中南部的一个县,南靠长岛海湾。面积2,333平方公里。根据美国2000年人口普查,共有人口824,008。与本州其余七县一样,本县既无县治
  • 传输介质一种物质存在于另一种物质内部时,后者是前者的介质。某些波状运动,如声波、光波中,则称传播的物质为这些波状运动的介质。介质分为光介质、电介质、机械波介质、磁介质等等。
  • 维多·沃尔泰拉维多·沃尔泰拉(意大利语:Vito Volterra,1860年5月3日-1940年10月11日)是一位意大利数学家与物理学家,著名于生物数学研究,包括有伏尔特拉捕食模型等。
  • 加德奇罗利加德奇罗利(Gadchiroli),是印度马哈拉施特拉邦Gadchiroli县的一个城镇。总人口42464(2001年)。该地2001年总人口42464人,其中男性21762人,女性20702人;0—6岁人口5644人,其中男2873人