上帝对象

✍ dations ◷ 2025-11-30 03:20:04 #反模式

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

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

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

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

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

相关

  • 运动创伤运动损伤又称运动创伤或运动伤害(英语:Sports injuries),指在体育运动或体能锻炼过程中发生的创伤。例如在美国,据估计有三千万青少年参与过某种形式的有组织运动,其中每年又有三
  • Salesforce.comSalesforce.com(Salesforce.com, Inc.)是一个以提供个人化需求进行客户关系管理规划和服务的互联网企业,总部位于美国加利福尼亚州旧金山。Salesforce公司于1999年由当时37岁的
  • 尼古拉斯·杜尔博士的解剖学课《尼古拉斯·杜尔博士的解剖学课》(荷兰语:De anatomische les van Dr. Nicolaes Tulp)是荷兰画家伦勃朗(Rembrandt Harmenszoon van Rijn)于1632年的油画作品。这幅画现存于海牙
  • Ulvophyceae见内文石莼纲是绿色大型藻类中的一纲,主要是以超结构的形态学和其他物种相区分。石莼属于此纲。其他较知名的物种还有软丝藻和伞藻等。 其它淡水种有刚毛藻属、根枝藻属和黑
  • 福氏內格里蟲福氏耐格里虫(学名:)是异叶足纲(Heterolobosea)的内格里虫,俗称食脑菌、食脑变形虫(brain-eating amoeba)、福氏阿米巴虫。在其生物生命周期有三种型态:囊胞、类阿米巴以及鞭毛虫的型
  • 生态社区主义生态社区主义(Eco-communalism)是一种环境哲学,基本理念是简单生活、自给自足、可持续性,以及投资本土经济。生态社区主义设想在将来,资本主义经济体系将被相互依赖和相互联系的
  • 阿马杜-马赫塔尔·姆博阿马杜-马赫塔尔·姆博(法语:Amadou-Mahtar M'Bow,1921年3月20日-),是塞内加尔的国民教育部长、国民议会议员,联合国教科文组织教育部门助理总干事。1921年,出生于达喀尔。1945年,在
  • 白景瑞白景瑞(1931年6月10日-1997年12月11日),台湾电影导演。白景瑞生于辽宁营口,1949年来台,考上台湾省立师范学院(现国立台湾师范大学)外文系,后转至艺术系(今美术系),为43级毕业生(民国四十
  • 徐家福徐家福(1924年12月-2018年1月16日),中国计算机软件学先驱,中国计算机科学奠基人之一,南京大学教授,南京大学计算机软件新技术国家重点实验室名誉主任。江苏南京人。1948年毕业于国
  • 古铜钙无粒陨石古铜钙无粒陨石是起源于小行星灶神星表面的无粒陨石的石陨石,是HED陨石群的子群。已知的这种陨石大约有50颗不同的成员。它们是风化的角砾岩,主要的组成成分是钙长辉长无粒陨