上帝对象

✍ dations ◷ 2025-11-23 09:49:23 #反模式

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

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

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

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

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

相关

  • 降解分解反应(decomposition reaction)是化学反应的常见类型之一,是指化合物在特定条件下分解成二种或二种以上元素或化合物的反应。例如:水在通电的情况下会分解成氢气和氧气;氯酸钾
  • 柠檬酸柠檬酸,化学式为 C6H8O7,(英语:Citric Acid,亦称为枸橼酸)它包括3个羧基(R-COOH)基团。是一种中强度有机酸,这是自然在柑橘类水果中产生的一种天然防腐剂,也是食物和饮料中的酸味添加
  • 西奈半岛西奈半岛(阿拉伯语:شبه جزيرة سيناء‎;英文:Sinai Peninsula)是一块亚洲西端,北接地中海南邻红海的三角形半岛。半岛之西为苏伊士运河,东北部是以色列和埃及的国界,数
  • 高 俊高俊(1933年10月7日-),中国地图学与地理信息系统学家。出生于北京。1956年毕业于解放军测绘学院。1999年当选为中国科学院院士。解放军测绘学院教授。
  • 拉罗歇尔之围拉罗歇尔是法国传统军事重镇,历史上曾经发生多次围城。前几次发生在是16世纪后半的30年胡格诺战争中(关键一次是1572年由比隆男爵指挥、法国王位继承人安茹公爵亨利名义上领军
  • 褐绒毛蛛猴褐绒毛蛛猴(),又名绒毛蛛猴或卷毛蜘蛛猴,是巴西特有的一种猴子。它们分布在巴西的巴拉那州、圣保罗州、里约热内卢州、圣埃斯皮里图州及米纳斯吉拉斯。褐绒毛蛛猴与北方绒毛蛛猴
  • 阜姆自由邦阜姆自由邦(Free State of Fiume)是一个存在于1920年至1924年期间的自由邦,面积28平方千米,领土范围是阜姆(现克罗地亚城市里耶卡)及其北部的农村地区,并有一条走廊使其和意大利接
  • 芋属芋属(学名:)是天南星科下的一个属,为多年生草本植物。该属共有13种,分布于亚洲热带及亚热带地区。本属8个被确认的物种如下:
  • 2018年冬季奥林匹克运动会朝韩联队2018年冬季奥林匹克运动会朝韩联队是大韩民国和朝鲜民主主义人民共和国为共同组成女子冰球队而临时组建的一支代表团。根据韩朝双方在2018年1月17日的商定结果,两国将共组一
  • 国际货运代理国际货运代理(International freight forwarding agent)是指国际货运代理组织接受进出口货物收货人、发货人的委托,以委托人或自己的名义,为委托人办理国际货物运输及相关业务,并