上帝对象

✍ dations ◷ 2024-12-22 17:28:19 #反模式

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

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

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

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

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

相关

  • 新壁总域新壁总域(Neomura)是一个演化支,由古菌域和真核生物域两域生物所组成。这个概念是由2002年被汤玛斯·卡弗利尔-史密斯所提出。他假设新壁总域成员演化自真细菌,其中一个主要的改
  • 熔融熔化是指物质由固态转变为液态的一个过程(又称熔解,其中冰的熔化又写作融化、融解)。固态物质中的内能增加(通常借由加热或加压)至一特定的温度(称之为熔点),在该温度下(或对于非纯物
  • 缺血性休克休克(Shock)为一急性的综合症。其顾名思义,为临床上常面临到的一种急性病症,一般人普遍认为休克专指低血压的状况,然而,以定义而言,休克其实为指身体的血液循环不够,造成组织氧气
  • 武广高铁.mw-parser-output .RMbox{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.mw-parser-output .RMinline{float:none
  • 马珏马珏,浙江鄞县人。马幼渔之女。因马幼渔在日本东京帝国大学留学而出生在日本东京。1911年随父母回中国,居杭州。考上北京大学政治系,毕业后在上海儿童图书馆工作。马珏是北大校
  • 钝头锦鱼钝头锦鱼(学名:)为辐鳍鱼纲鲈形目隆头鱼亚目隆头鱼科锦鱼属的鱼类。本鱼分布于印度太平洋区,包括东非、红海、毛里求斯、马尔代夫、缅甸、马来西亚、泰国、越南、日本、中国、台
  • 约翰·德莱尼约翰·德莱尼(英语:John Delaney)是美国的一位政治人物。自2013年开始,他是马里兰州第6选举区选出的美国众议院议员。他的党籍是民主党。他曾经是一位商人。2017年7月28日,德莱尼
  • 关键年代《关键年代》为年代综合台以台海两岸议题为主的谈话性节目,由李大华、姜玉凤主持,2010年5月31日开播,目前已停播。其开头以张惠妹歌曲〈Yes or No〉中一句别具特色的"Yes or No
  • 巴贝里尼家族意大利王国 巴贝里尼家族(意大利语:Barberini),或译巴尔贝里尼、巴别利尼,是一个于17世纪的罗马声望急遽上升的意大利贵族家族,在马费奥·巴贝里尼枢机(Maffeo Barberini)于1623年当
  • 都督府 (西班牙)都督府(西班牙语:Capitanía general)是西属美洲和西属东印度中的军事与行政区划,由总督辖区(西班牙语:Virreinato)管辖,最初设立的目的是为了抵抗外国势力和印地安人的进攻。都督府