上帝对象

✍ dations ◷ 2025-10-15 00:03:28 #反模式

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

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

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

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

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

相关

  • 尿路感染泌尿道感染(urinary tract infection,UTI),也称为急性膀胱炎或膀胱感染,是一种会影响到部分泌尿道的感染。泌尿道分为上、下泌尿道,感染部位不同对应到不同疾病名称:当影响到下泌尿
  • 热岛效应热岛效应是一个自1960年代开始,在世界各地大城市所发现的一个地区性气候现象。具体来说,无论从早上到日落以后,城市的气温都比周边地区来得高,并容易产生雾气。这个现象的发现,是
  • 原子经济性原子经济性(Atom economy)是绿色化学中的一个概念,首先由斯坦福大学的 Trost 提出。它以化学反应中的“原子转化率”来衡量反应的经济程度:如果反应产物是对映异构体之一,为了达
  • 异麦芽酮糖醇异麦芽酮糖醇(英语:Isomalt)又称巴糖醇,属于二糖醇,因其类似糖的物理性质,可作为一种甜味剂添加在食品中。1960年代被发现,从80年代至今广泛的在世界超过70个国家使用。异麦芽酮糖
  • 丙型冠状病毒属丙型冠状病毒属(学名:Gammacoronavirus、γ-CoV)是冠状病毒亚科的四个属之一,为具有包膜的正链RNA病毒。有别于甲型冠状病毒属与乙型冠状病毒属仅感染哺乳动物,本属与丁型冠状病
  • 海南菜海南菜指的是源自中国海南省的地方菜系,又称琼菜,是中国颇具自身风味的地方菜系之一。海南菜多以海鲜为主,也可以找到其他地方菜系的影子,例如粤菜和闽菜的影响对其非常显著。此
  • 9族元素固体、液体、气体9族元素(又称钴族元素)是指元素周期表上第9族的元素,位于8族元素和10族元素之间,在过去和8族元素及10族元素合称为ⅧB族元素。9族元素包含钴(Co)、铑(Rh)、铱(Ir)、鿏
  • 太公望道家系列条目太公望(?-?),姜姓,吕氏,名尚,字子牙,是周文王、周武王的军师。史册记载名字有姜尚、姜望、姜牙、姜子牙、吕尚、吕望、吕涓、吕牙,别称有姜太公、吕太公、齐太公、太公、太
  • 古格尼尔山坐标:46°31′25″N 9°16′17″E / 46.52356°N 9.27135°E / 46.52356; 9.27135古格尼尔山(Guggernüll),是瑞士的山峰,位于该国东部,由格劳宾登州负责管辖,属于勒蓬廷山的一部分
  • 德克·布劳沃德克·布劳沃(荷兰语:Dirk Brouwer,1902年9月1日-1966年1月31日),荷兰裔美国天文学家。他在荷兰莱顿大学获得了博士学位,随后前往美国耶鲁大学。1941年-1966年间,他担任《天文学期刊