上帝对象

✍ dations ◷ 2025-11-18 20:11:08 #反模式

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

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

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

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

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

相关

  • 肉毒素肉毒杆菌毒素(英文:BTX, Botulinum Toxin),也被称为肉毒毒素或肉毒杆菌素,是由肉毒杆菌于厌氧条件下生长时所产生的一类嗜神经性外毒素。肉毒杆菌毒素共有A、B、Cα、Cβ、D、E、
  • 声调音位声调轮廓(tone contour)或语调轮廓、声调符号,其意思是指在一种声调语言中,音节的音高如何因为声调之不同而改变。轮廓通常以两个或三个数字表示,或者可以用象形图显示。汉语是声
  • 保留性交保留性交(coitus reservatus,也称sexual continence)又名“保留交媾”,一般称性伴侣在性交过程中尽可能延缓精液的泄出、恒久保持在性持续期。此种思维观念的性生活又称作“不完
  • 文化冲突文化冲突为文化价值观、文化信仰与信念之间的分歧所导致的一种冲突。文化冲突已经被援引来解释某些犯罪行为的原因。
  • 百灵百灵科(学名:Alaudidae),是雀形目中的一个科。这一科的鸟出于欧亚大陆,只有一种角百灵现已引入到北美。百灵鸟一般比较小,通常吃昆虫和种子。它在地上做窝,每次生二到六个花蛋。它
  • 周氏节孝坊周氏节孝坊为一座建于台湾清治时期牌坊,位于台北市北投区。牌坊的设立是为了表彰早年丧夫守节抚孤的周氏绢,由闽浙总督刘珂在1850年题准建坊,牌坊建成于1861年。周氏绢的生卒年
  • 丹尼森丹尼森(Denison)是美国的一个城市。位于德克萨斯州的格雷森县。在2000年人口普查时,丹尼森有人口22,773。这一数字在2009年估计已增加到24,127人。丹尼森是谢尔曼-丹尼森大都市
  • 向叙利亚进发向叙利亚进发(法语:)是法兰西第二帝国非官方国歌,由奥坦丝·德·博阿尔内作曲,亚历山大·德·拉博德于1807年为其填词。这首歌的灵感来自拿破仑的埃及战役,它代表了法兰西第一帝国
  • 詹姆斯·弗兰科詹姆斯·爱德华·弗兰科(英语:James Edward Franco,1978年4月19日-)是一位美国男演员、制片人、导演、编剧和作家。弗兰科参演的首部电影为1999年的《一吻定江山》。弗兰科在2001
  • 黑龙江湿地黑龙江省共拥有天然湿地434万公顷。至2005年2月,黑龙江省共建有省级以上湿地自然保护区40处,总面积达到313万公顷,其中国家级8处,省级32处,还拥有扎龙、兴凯湖、三江、洪河等4处