上帝对象

✍ dations ◷ 2025-11-21 03:28:49 #反模式

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

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

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

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

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

相关

  • 鲍里斯·贝克鲍里斯·贝克尔(德语:Boris Becker,1967年11月22日-),生于联邦德国巴登-符腾堡,外号“德国金童”,已退役的德国男子网球运动员,德国体育史上最佳男子网球选手,单打最高世界排名第一,6座
  • 里昂美术馆里昂美术馆(Musée des beaux-arts de Lyon)是法国城市里昂的市立美术馆,位于沃土广场南侧17和18世纪的原本笃会修道院建筑内。自从1988年到1998年修理后,一直对游客开放。其藏
  • 澳洲议会(截至2019年5月18日 (2019-05-18)) 执政党   联盟 (35)反对党   澳大利亚工党 (26) 中立议员 (14)   澳大利亚绿党 (9)   保琳·汉森的一个民族 (2)   中间联盟
  • 亚历山大·杜布切克亚历山大·杜布切克(斯洛伐克语:Alexander Dubček;1921年11月27日-1992年11月7日),捷克斯洛伐克的政治家,曾经于1968年1月到1969年4月担任捷克斯洛伐克共产党第一书记。杜布切克生
  • 福格社区福格社区(德语:Fuggerei)是位于德国城市奥格斯堡的一处为低收入者而兴建的住宅社区,是世界首个计划性的公共住宅。社区完工于1521年。二战期间社区严重受损。现在福格社区是奥格
  • 德国邮政银行德国邮政银行(德语:Deutsche Postbank AG)是德国的一个银行,按1989年的第二次德国邮政改革,它与德国邮政分家,成为一个独立的股份公司。其重点在于储蓄和零售业务。2008年9月由德
  • 阿奎里乌斯}} 阿奎里乌斯约活动于公元前2世纪前后。罗马共和国喜剧作家,曾斐名文坛。其作品仅有残篇存世,后人经过搜集整理,集成《罗马优伶残篇》。
  • 菲希特尔山菲希特尔山(德语:Fichtelberg)位于德国萨克森自由州厄尔士山县上维森塔尔,海拔1214.79米,是萨克森州最高的山峰。 其与捷克一侧附近的克利诺韦茨山(捷克语:Klínovec,海拔1243.7米)一
  • 大迫敬介大迫敬介(日语:大迫 敬介/おおさこ けいすけ ,1999年7月28日-),日本足球运动员,日本国家足球队成员,司职守门员,现效力广岛三箭。2015年初中毕业后的大迫敬介来到了广岛,加盟了广岛三
  • GeosatGeosat(英语:GEOdetic SATellite),亦称大地测量卫星,是美国海军在1985年至1990年间运营的卫星测高任务,主要用于军事、大地测量学和海洋学方面的研究,具体目标包括为海军提供全球的