上帝对象

✍ dations ◷ 2025-11-17 20:04:42 #反模式

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

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

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

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

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

相关

  • 生物技术生物技术(英语:biotechnology),又称为生物科技,指利用生物体(含动物,植物及微生物的细胞)来生产有用的物质或改进制程,改良生物的特性,以降低成本及创新物种的科学技术。根据不同的工
  • 碎纸片彩色纸屑(意大利语:Coriandoli),指以聚脂薄膜或金属材料为原料的多种色彩的纸片碎屑,通常用于巡游,运动会等庆祝活动,特别是婚礼庆祝上。早期的纸屑源于意大利。现代意义上的彩色纸
  • 罗斯基勒罗斯基勒(丹麦语:Roskilde)是位于丹麦西兰岛东部的一座城市,也是罗斯基勒郡的郡治所在。罗斯基勒的历史可追溯到维京时代,是维京人海上贸易的一个节点,也是丹麦最古老的城市。从11
  • 感染力感染是指由病原体物种在身为宿主的个体内进行有害的复制、繁殖过程。具传染性的生物体会寻找并且利用宿主体内资源,以利自身生存,但这个过程一旦干扰了宿主正常的生理运作,可能
  • 爱因斯坦-西拉德信爱因斯坦-西拉德信是于1939年8月2日交给当时的美国总统富兰克林·罗斯福的一封信。利奥·西拉德经过与同事、匈牙利物理学家爱德华·泰勒和尤金·维格纳的协商起草了该信,最
  • 西南明尼苏达州立大学明州西南州立大学(英语:Southwest Minnesota State University ,简称:SMSU),位于美国明尼苏达州马绍尔,是一所公立四年制大学,也是明尼苏达州立学院与大学系统之一部分。该校分为两
  • 性手枪性手枪(英语:Sex Pistols)是一支英国朋克摇滚乐队,于1975年在伦敦组建。尽管他们只存在了两年半时间,仅发行了四首单曲和一张录音室专辑《Never Mind the Bollocks, Here's the S
  • 格里斯沃尔德诉康涅狄格州案格里斯沃尔德诉康乃狄克州案是美国在1965年的标志性案例,美国最高法院裁定《美国宪法》权利法案代表对隐私权作为基本权利。该案涉及康乃狄克州的《考姆斯托克法(英语:Comstock
  • 巴西总统巴西总统是巴西联邦共和国的国家元首和政府首脑,掌握着最高行政权。总统制是自1889年11月15日德奥多罗·达·丰塞卡推翻帝制、建立巴西联邦共和国时开始实行。自该时开始,巴西
  • 1998年国际足联世界杯预选赛 (南美洲区)1998年国际足联世界杯预选赛 (南美洲区)是决定南美洲球队参加1998年国际足联世界杯资格的赛事。其中巴西作为卫冕冠军自动晋级。1998年国际足联世界杯预选赛(南美洲区)由于巴