上帝对象

✍ dations ◷ 2025-12-02 15:27:45 #反模式

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

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

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

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

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

相关

  • 索马里兰国旗索马里兰国旗由绿、白、红三个平行的长方形组成。绿色条纹内有清真言;白色条纹内有一个黑色的五角星。因为国旗当中存在清真言,所以索马里兰国旗同沙特阿拉伯国旗一样,也没有降
  • 乱世佳人 (消歧义)《乱世佳人》是根据小说《飘》改编的1939年美国电影。乱世佳人也可以指:
  • 爱德基金会爱德基金会(英语:The Amity Foundation)是与中国基督教协会有关联的团体,是中国的基督徒志愿者参加组成,主要帮助中国贫困地区的团体。本部在南京,活动概况主要包括从海外针对中国
  • 干粉灭火器,是一种可携式灭火工具。灭火器内藏化学物品,用以救灭火警。灭火器是常见的防火设施之一,存放在公众场所或可能发生火警的地方。因为其设计简单可携,一般人亦能使用来扑灭
  • 澳洲淡水龙虾红鳌螯虾(Cherax quadricarinatus,意思为“红色的爪”),俗称澳洲淡水龙虾,又名蓝色多刺螯虾、四脊滑螯虾,原产于大洋洲,在霍华德、雷诺兹河和阿德莱德河与多数大洋洲北部的河川都有
  • 人民武力省坐标:39°03′32″N 125°44′25″E / 39.058780487°N 125.740413938°E / 39.058780487; 125.740413938朝鲜民主主义人民共和国人民武力省(韩语:조선민주주의인민공화국 인민
  • 罗甸县罗甸县是中华人民共和国贵州省黔南布依族苗族自治州下属的一个县。面积3010平方公里,2012年人口34万。邮政编码550100,县政府驻龙坪镇。清朝置罗斛厅,1913年置罗斛县,1930年改罗
  • 恩里克·培尼亚·涅托5恩里克·培尼亚·涅托(西班牙语:Enrique Peña Nieto;西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sa
  • 范志完范志完(?-1643年),字叔恺,号成六,河南虞城县人,明朝末年官员,同进士出身。官至辽东督师。幼时母作《八行图》以教之。崇祯四年(1631年)中式三甲一百一十名进士。授永平推官。历官湖广布
  • 博希蒙德五世博希蒙德五世(Bohemond V of Antioch,1199年-1252年)安条克公爵和的黎波里伯爵(1233-1252)。博希蒙德是博希蒙德四世与妻子普莱桑斯(Plaisance of Gibelet)之子,与他的父亲一样,讨厌医