上帝对象

✍ dations ◷ 2025-02-23 22:01:47 #反模式

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

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

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

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

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

相关

  • 地名译名列表这是一份希腊神话中出现的地名的中文译名列表。在使用此表时,请注意以下几个问题:
  • 保罗·莱恩保罗·戴维斯·莱恩(英语:Paul Davis Ryan Jr.,1970年1月29日-)又译保罗·瑞安,曾任美国众议院议长、联邦众议员,天主教徒,来自威斯康星州。曾于2012年总统大选提名为共和党副总统候
  • 2009年伊朗总统选举马哈茂德·艾哈迈迪内贾德 马哈茂德·艾哈迈迪内贾德 2009年伊朗总统选举是伊朗伊斯兰共和国于2009年6月12日举行的第10届总统选举,由竞选连任的总统马哈茂德·艾哈迈迪内贾
  • 深陷天堂《深陷天堂》(英语:)是美国创作型歌手布鲁诺·马尔斯的一首歌曲,收录于他的第2张录音室专辑《火星点唱机》中,于2012年10月1日作为专辑的首波主打单曲发行。歌曲由The Smeezingto
  • Pop/Stars《POP/STARS》是游戏英雄联盟推出的数字单曲,词曲皆由Riot Games音乐队队制作完成,于2018年11月4日透过各大数字音乐网站公开在线音源。“K/DA”是Riot Games推出的女子音乐组
  • 欧根·达尔伯特欧根·达尔伯特(德语:Eugen d'Albert,1864年4月10日-1932年3月3日),苏格兰裔德国-瑞士钢琴家,作曲家。达尔伯特出生在格拉斯哥,后来到伦敦学习很快成为一名出色的钢琴家。1881年,他离
  • 拉胡尔·甘地拉胡尔·甘地(英文:Rahul Gandhi,1970年6月19日-)是一个印度政治人物、曾任印度国民大会党主席、副主席和总书记,尼赫鲁-甘地家族的一分子。尼赫鲁-甘地家族和印度国父甘地并无血
  • 李文藻李文藻(1730年-1778年),字素伯,字畹,晚号南涧,山东益都人。清朝书法家、进士出身。十三岁随父游曹家亭,“长身多髯,赳赳如千夫长”,乾隆二十六年(1761年)进士,历官广东恩平县。乾隆三十六
  • 顾明亮顾明亮(1963年10月-2020年5月13日),江苏无锡人,中国通信与信息处理专家,江苏师范大学教授,九州职业技术学院院长。1985年6月毕业于徐州师范大学物理系,获理学学士学位。1998年6月毕
  • 冲田雅冲田雅,日本男性轻小说作家。出身于广岛县,居住于大阪府。有一个妹妹。代表作是《学姐与我》和《野狼大神》系列(后者曾经在2010年7月播出电视动画)。2004年,以《学姐与我》参加