上帝对象

✍ dations ◷ 2025-12-06 18:02:33 #反模式

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

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

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

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

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

相关

  • 中华民国环保署坐标:25°02′19″N 121°30′28″E / 25.03861°N 121.50778°E / 25.03861; 121.50778行政院环境保护署(简称环保署)是中华民国环境保护事务的最高主管机关,前身为1971年3月成
  • 余岩余云岫(1879年9月14日-1954年1月3日),名岩,字云岫,号百之,谱名允绶,中国浙江镇海人,被认为是中华民国大陆时期全面废止中医派的代表人物。余云岫本人则主张医学不分中西,反对中医西医
  • 双重标准双重标准是指无正当理由地针对某一种特定行为,因实施的人不同,而导致评价褒贬不一的现象。例如允许某一群体或个人实施某一种行为,但禁止另外一群体或个人实施相同行为。双重标
  • 李亦园中央研究院民族学研究所研究员(1955年-1998年)中央研究院民族学研究所所长(1968年-1977年)国立清华大学教授(1984年-1999年)国立清华大学人文社会学院院长(1984年-1990年)匹兹堡大学人类
  • 费吴生费吴生(George Ashmore Fitch,又译为乔治·费区、乔治·费奇,1883年1月23日-1979年1月20日),基督教青年会领袖。1883年1月23日,费吴生出生在中国苏州,是美北长老会传教士费启鸿(Georg
  • 参谋首长联席会参谋首长联席会议(英语:Joint Chiefs of Staff),是美国军队陆海空各军种指挥官组成的机构。其机能与英联邦国家的参谋长委员会和部分国家的参谋部相类似,主要职能是三军之间的协
  • 丹·谢赫特曼丹·谢赫特曼(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Tsova","Ta
  • 介辅医介辅(医介輔、いかいほ)是琉球列岛美国民政府(美国占领冲绳期间、包括奄美在内)时期所设立的一种医疗职位。医介辅的出现,是因为当时医生不足,用以填补正式医生的“代用医师”,取
  • 事业手印在无上瑜伽部中,事业手印(梵语:Karmamudrā),又称业印、行印,是一种瑜伽,经由与人类女性(实体明妃)之间的性行为来进行,是双身法修行的方法之一。为圆满次第的一部分。那洛六法中,将双
  • 亚历山大·范德格里夫特香蕉战争 墨西哥革命 第二次世界大战亚历山大·阿切·范德格里夫特(Alexander Archer Vandegrift 1887年3月13日-1973年5月8日),或译“范德桂”,是美国海军陆战队上将和司令,在第