上帝对象

✍ dations ◷ 2025-12-01 02:37:26 #反模式

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

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

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

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

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

相关

  • 保罗·埃利希保罗·埃尔利希(旧译欧立希,德语:Paul Ehrlich,1854年3月14日-1915年8月20日),德国细菌学家、免疫学家。较为著名的研究包括血液学、免疫学与化学治疗。埃利赫预测了自体免疫的存在
  • 枕叶枕叶(Occipital Lobe)是大脑皮层的一部分结构,属于哺乳动物四个脑叶之一。其已知的主要功能包括处理视觉信息,例如初级视皮层V1就位于枕叶。两个枕叶是人类脑颅皮质四对脑叶最小
  • 咖啡替代品咖啡代用品是指非咖啡,但因为外观、口味类似咖啡,因此用来代替咖啡的产品,多半也不含咖啡因。咖啡代用品的使用可能是因为医药上、经济上或是信仰上的原因,也有可能只是因为无法
  • 帕特罗克洛斯帕特罗克洛斯(Patroclus,也名Patroklos,希腊文Πάτροκλος),取意“父亲的荣耀”。在希腊神话中,被记载于荷马(Homer)所著的伊里亚德(Iliad)。Menoetius之子,阿基里斯(Achilles)的
  • 实相实相,汉传佛教术语,最早源自鸠摩罗什,它被用来代表诸法真实的相貌,意同于真如、法性、法界等。实相一词,源自于鸠摩罗什所译佛经,包括《小品般若经》、《妙法莲华经》、《中论》、
  • Orange (公司)Orange(法语:Orange S.A.),是法国主要的电信公司,前身为法国电信(France Télécom S.A,),2013年7月1日改现名。李嘉诚的和记黄埔曾于1991年至1999年控股Orange公司。后几经易手,最终
  • 世界摔角娱乐文斯·麦马汉-总裁兼首席执行长 保罗·麦可·李维斯克-执行副董事长(人才、创意和现场活动) 乔治·巴里奥斯-财务总监兼策略总监(英语:Chief strategy officer) 米歇尔·D·威尔逊-营
  • 亚伦·蒙哥马利·沃德亚伦·蒙哥马利·沃德(英语:Aaron Montgomery Ward 1843年2月17日-1913年12月7日)是一位总部设在芝加哥的美国企业家,他幸运的利用邮购零售商品卖给一般乡村顾客而发了大财。1872
  • 黄甲街道黄甲街道,是中华人民共和国四川省成都市双流区下辖的一个乡镇级行政单位。原为黄甲镇,2012年4月,撤镇设街道。黄甲街道下辖以下地区:双华社区、檬子社区、王家场社区、长埂社区
  • 厄斯特河坐标:51°12′49″N 7°52′18″E / 51.21361°N 7.87167°E / 51.21361; 7.87167厄斯特河(德语:Oester),是德国的河流,位于该国西部,处于北莱茵-威斯特法伦州,属于埃尔瑟河的右支流