上帝对象

✍ dations ◷ 2025-12-08 09:35:40 #反模式

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

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

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

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

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

相关

  • 累积发病率累积发病率(英语:cumulative incidence),或称为发病比(incidence proportion),在流行病学中是指在一段时期内特定人群发生疾病的比例,用来测定发病风险。当所考虑的时期为整个人生时
  • 法国海外部法国海外部(法语:Ministère des Outre-mers),是法国政府部门之一,负责法国海外领地事务。现任部长维克托兰·吕勒尔(Victorin Lurel),2012年5月16日上任。5个海外省及大区
  • 凤凰计划凤凰计划可以指:
  • 公益公益可以指:
  • 拉特利奇约翰·拉特利奇(英语:John Rutledge,1739年9月17日-1800年7月23日),美国政治家、律师、奴隶主,南卡罗来那州人。他生于查尔斯顿,父亲是爱尔兰移民和医生,其弟爱德华·拉特利奇是美国
  • 克勒妮·玛塔坐标:27°47′26″N 73°20′27″E / 27.79056°N 73.34083°E / 27.79056; 73.34083克勒妮·玛塔(印地语:करणी माता)(1387年10月2日-1538年3月23日),又被叫作克勒妮吉·玛
  • 切特·卡莱尔切斯特·格雷·卡莱尔(英语:Chester Gray Carlisle,1916年11月2日-1988年8月3日),美国NBA联盟前职业篮球运动员。
  • 张碧梧张碧梧(1897年-?),江苏仪征人,中国小说家,翻译家。早年家道中落,自学英文,得表兄毕倚虹之助,到上海读书,曾翻译《断指手印》、《电贼》、《人猿泰山》与《侠盗亚森·罗平》等侦探小说,在
  • 菲利普·马洛菲利普·马洛(英语:Philip Marlowe),为作家雷蒙·钱德勒创造的虚构人物,他出现在《大眠》与《漫长的告别》等多部长篇小说中。马罗身高约6呎(约185公分),体重大概190磅(86公斤),职业是
  • 市二宫站市二宫站是广州地铁2号线的一座车站,位于海珠区江南大道北同福东路口的地底。因西面建有广州市第二工人文化宫(简称市二宫)而得名,于2002年12月29日启用。跟广州地铁2006年之前