上帝对象

✍ dations ◷ 2025-07-16 05:07:40 #反模式

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

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

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

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

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

相关

  • 海龙卷风海龙卷风,也简称海龙卷或水龙卷,指发生在海上的龙卷风,由于特殊的气象条件,其持续时间比陆上龙卷风要长,强度也较大,但其直径比陆龙卷风略小。常以海龙卷群的方式出现。海龙卷一般
  • 俄罗斯联邦总统俄罗斯联邦总统(俄语:Президент Российской Федерации)是俄罗斯联邦的国家元首。1993年12月12日通过的第一部《联邦宪法》,规定俄联邦是“共和制的
  • 麦克·米勒马尔科姆·詹姆斯·麦考密克(英语:Malcolm James McCormick,1992年1月19日-2018年9月7日),知名于其艺名麦克·米勒(Mac Miller),美国说唱歌手,词曲作家和唱片制作人。麦克·米勒出生于
  • 甘露糖-6-磷酸甘露糖-6-磷酸(英语:Mannose-6-phosphate,缩写M6P)是一个在免疫系统中与凝集素结合的分子,M6P可由磷酸甘露糖异构酶(英语:mannose phosphate isomerase)转化为果糖-6-磷酸。尿苷二磷
  • 1984年夏季奥林匹克运动会第二十三届夏季奥林匹克运动会(英语:the Games of the XXIII Olympiad,法语:les Jeux de la XXIIIe Olympiade),于1984年7月28日至8月12日在美国洛杉矶举行。本届奥运会被视为是奥
  • 元宁宗元宁宗懿璘质班(蒙古语:ᠷᠢᠨᠴᠢᠨᠪᠠᠯ ᠬᠠᠭᠠᠨ,鲍培转写:,西里尔字母:Ринчинбал хаан,藏语:.mw-parser-output .uchen{font-family:"Qomolangma-Dunhuang","Q
  • 洪堡山脉坐标:71°45′S 11°30′E / 71.750°S 11.500°E / -71.750; 11.500洪堡山脉(德语:Alexander-von-Humboldt-Gebirge)是南极洲的山脉,位于毛德皇后地,处于彼得曼山脉以西,属于沃尔
  • Ba.88攻击机布雷达 Ba.88 “猞猁”(意大利语:Breda Ba.88 "Lince") 是意大利于二战期间装备的一种攻击机。该机于1937年首次公布,并打破了当时多项速度记录。Ba.88具有流线型外形与可伸缩起
  • 2016年世界一级方程式锦标赛2016年世界一级方程式锦标赛(英语:2016 FIA Formula One World Championship)是第67届国际汽联一级方程式世界锦标赛。这是由被视为开轮式赛车主管组织的国际汽车联合会所主办
  • 串联电路几个电路元件沿着单一路径互相连接,每个连接点最多只连接两个元件,此种连接方式称为串联。以串联方式连接的电路称为串联电路。连接点称为节点。从串联电路的电源给出的电流等