上帝对象

✍ dations ◷ 2025-06-29 19:01:44 #反模式

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

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

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

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

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

相关

  • 福德爷长庆庙坐标:25°01′30″N 121°31′19″E / 25.025014°N 121.521852°E / 25.025014; 121.521852福德爷长庆庙,简称长庆庙,是位于台湾台北市中正区板溪里的土地祠,历史可追溯至清治
  • 马克斯韦尔·泰勒第二次世界大战马克斯维尔·达文波特·泰勒(英语:Maxwell Davenport "Max" Taylor,1901年8月26日-1987年4月19日),生于密苏里州,逝世于华盛顿哥伦比亚特区,美国陆军上将。1922年于西
  • 库尔提斯重排反应柯提斯重排反应(Curtius重排反应)是一个重排反应,首先由西奥多·柯提斯(Theodor Curtius)发现,反应中酰基叠氮重排生成异氰酸酯。关于此反应的综述参见:。产物可与一系列亲核试剂反
  • 派奇·亚当斯派奇·亚当斯(Patch Adams, 1945年5月28日 - )是美国医生。小丑医生。本名为杭特·坎贝尔·亚当斯(Hunter Campbell Adams)。生于华盛顿特区。他是汤姆·薛狄艾克导演,罗宾·威廉
  • 岩泽健吉岩泽健吉(日语:岩澤 健吉,いわさわ けんきち,,1917年9月11日-1998年10月26日),日本数学家,以在代数数论领域的影响而著名。岩泽出生于群马县桐生市。他在这里上小学,毕业后升入东京武
  • 弗雷德里克·罗宾逊·科赫弗雷德里克·罗宾逊·科赫(英语:Frederick Robinson Koch,1933年8月26日-2020年2月12日)是一名收藏家和慈善家。2020年2月12日病逝,享寿86岁。
  • 约阿希姆·施普克约阿希姆·施普克(德语:Joachim Schepke,1912年3月8日-1941年3月17日)是一位纳粹德国海军U潜艇艇长,为第七位橡叶骑士铁十字勋章获得者,此为当时全德国军队中最高级别的军事勋章。
  • 影楼影楼 又称 影棚、照相馆、影相铺,是用作室内摄影艺术的地方,相对于外景拍摄。从前私人的相机昂贵、不流行的年代,很多人会去拍摄全家福或重大庆典的照片。现代的专业摄影公司的
  • 电话电报闭塞电话电报闭塞是指在两个车站之间,在不使用任何铁路电子、机械设备的条件下,只采用打电话、发电报等通信方式对列车的运行进行调度,保证前后列车的距离与安全的铁路闭塞方式。目
  • HushHush、hush或HUSH可以指: