上帝对象

✍ dations ◷ 2025-12-10 07:56:13 #反模式

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

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

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

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

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

相关

  • 比利牛斯山比利牛斯山,位于欧洲西南部,山脉东起于地中海,西止于大西洋,分隔欧洲大陆与伊比利亚半岛,也是法国与西班牙的天然国界,山中有小国安道尔。长435公里,宽80-140公里,一般海拔在2000米以
  • 尼日尔河尼日尔河(Niger River)是西非最大的河流,发源于几内亚南部边境的富塔贾隆高原,曲折流向东北,在马里东部折向东南,再流经尼日尔和尼日利亚注入几内亚湾。长4,184公里(全球第十三,非洲
  • 吉里·威尔什吉里·威尔什(捷克语:Jiří Welsch,1980年1月27日-),捷克篮球运动员。他现在效力于捷克球队ČEZ Basketball Nymburk。他曾经参加2002年NBA选秀。他也代表捷克国家男子篮球队参赛
  • 雅马哈雅马哈公司(日语:ヤマハ株式会社,台湾称作山叶公司)是日本一家生产乐器、音响设备及音效产品的公司,现时是世界上最大的乐器生产商。总部位于静冈县滨松市,旗下子公司还经营家居设
  • 弗雷迪·默丘里www.freddiemercury.com 弗雷迪·默丘里(英语:Freddie Mercury,1946年9月5日-1991年11月24日),原名法鲁克·布勒萨拉(Farrokh Bulsara,古吉拉特语:ફરોખ બલ્સારા‌),英国歌手
  • 崖柏属崖柏属(学名:)是柏科下的一个属,为常绿乔木植物。该属共有约6种,分布于北美和东亚。
  • 伊万·谢尔盖耶维奇·屠格涅夫伊万·谢尔盖耶维奇·屠格涅夫(俄语:Ива́н Серге́евич Турге́нев,IPA:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Liberti
  • 约瑟夫·费因斯约瑟夫·费因斯(英语:Joseph Alberic Twisleton-Wykeham-Fiennes,1970年5月27日-),英国演员,他最著名的演出是在恋爱中的莎士比亚中饰演的莎士比亚。他的长兄是好莱坞著名演员拉尔
  • 运输学系运输学系,为大学院校中的科系之一,主要研究的学门为运输学、作业研究(Operation Research)、供应炼管理、肇事鉴定、交通法规与基础的统计与会计等,因应学科领域的转变,各校系走向
  • 氢化铵理论计算给出氢化铵的一种可能结构 氢化铵(化学式:NH4H),部分文献称五氢化氮(英语:Nitrogen pentahydride),是根据铵根离子化学上具类似碱金属的性质、且碱金属皆存在氢化物(例如:氢