上帝对象

✍ dations ◷ 2025-11-05 20:48:24 #反模式

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

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

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

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

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

相关

  • 波士顿儿童医院波士顿儿童医院(Boston Children's Hospital)是美国麻塞诸塞州波士顿一所拥有395张立案病床的儿童医院,位于波士顿市内医疗院所林立的长木医学区。它是哈佛医学院与丹那-法博癌
  • 邱大洪邱大洪(1930年4月-),祖籍浙江吴兴,出生于上海,海岸和近海工程专家,中国科学院院士。早年就读于上海市南洋模范中学。1947年考入清华大学土木工程系。1951年毕业,此后一直在大连工学
  • 苏纪兰苏纪兰(1935年12月31日-),湖南攸县人,中国物理海洋学家,国家海洋局第二海洋研究所名誉所长、国家海洋局海洋动力过程与卫星海洋学开放实验室主任。曾任国际海洋科学研究委员会执委
  • 八重之樱《八重之樱》(八重の桜)为NHK第52部大河剧,2013年1月6日起开始播出。由绫濑遥主演。原本该企划是完全与本次大河剧的播出无关,但是在2011年3月11日发生了东日本大震灾,NHK内部为
  • 成都科技大学成都科技大学(英语:Chengdu University of Science and Technology,1952年-1994年)是曾位于中国西南成都市,一所以工为主,理、工、管、文相结合的综合性应用研究型大学。直属原国家
  • 回教祈祷团东南亚联合国 国家其他非国家组织伊斯兰祈祷团(阿拉伯语:الجماعة الإسلامية‎,al-Jamāʿah al-Islāmiyyah),又称回教祈祷团,简称伊斯兰团,是一个寻求在东南亚建
  • 烟肉食品列表“烟肉”(bacon)演变自古高地德语中的“bacho”(意为臀部、火腿或熏腹部肉),亦近于古法语中的“bacon”。烟肉由猪的腹部肉(俗称五花肉)或背部肉制成,依切法不同而具有不等的脂肪含
  • 亚扎丁坚亚扎丁坚(缅甸语:ရာဇသင်္ကြန်,发音:),旧译阿剌者僧加蓝,是缅甸敏象王国的君主,与其兄阿丁克亚、弟底哈都共同创建了敏象王国。亚扎丁坚是掸族人,与兄弟共同在蒲甘王国军中
  • 查尔斯·莫里斯查尔斯·威廉·莫里斯(1901年5月23日-1979年1月15日),美国符号学家、哲学家。1901年5月23日生于丹佛,就读威斯康辛大学、西北大学,1925年获芝加哥大学博士学位。1958年后在佛罗里
  • 毛利胜永毛利胜永(1577年-1615年6月4日)是安土桃山时代至江户时代初期的武将。丰臣氏家臣。父亲是毛利胜信。本姓是森氏。在史料中,没有出现过胜永的名讳。发给文书全部都以吉政为署名,而