上帝对象

✍ dations ◷ 2025-12-04 23:41:05 #反模式

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

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

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

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

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

相关

  • NNL坐标:31°46′33.01″N 35°11′48.58″E / 31.7758361°N 35.1968278°E / 31.7758361; 35.1968278以色列国家图书馆(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-
  • 电脑断层血管摄影术电脑断层血管摄影术(英文:Computed tomography angiography,CT-Angiograph,CTA)是一种利用电脑断层扫描(CT)技术进行的血管造影检查,其可探及全身的所有动脉与静脉血管,包括心、脑、
  • 椋鸟科椋鸟科是鸟纲雀形目中的一科,约有30个属。这个科的鸟是一种小到中型的雀类,大多为地栖性杂食动物,叫声变化多端。英文名字叫做“Starling”,是从拉丁文”Sturnidae”翻译而来的
  • 花彩列岛岛弧(英语:Island arc)是位于大陆附近,向海洋凸出成圆弧状的列岛。它们常排列成花彩状,故可合称为花彩列岛。岛弧的形成是海洋板块沉入另一个邻近海洋板块时,岩浆喷出形成与板块平
  • 九和路九和路(Jiouhe Rd.)为高雄市大寮区北边的南北向重要干道,地理位置接近高屏溪下游。本道路经义和地区,亦邻近大树九曲堂及九曲堂车站及高屏旧铁桥,全线属台29线。起端于大树、大寮
  • 淡水国淡水国(西班牙语:Tamchuy),亦可称大大宛、大惠宛、大惠国、台惠宛、淡水十二村社,是古代北台湾凯达格兰族所建立的一个类邦联制联合政权。在台湾西班牙统治时期遭到占领并成为西
  • 艾琳·希瑟顿艾琳·希瑟顿(Erin Heatherton,1989年3月4日-)出生于美国,是一位模特儿。曾经是维多利亚的秘密知名代言模特儿中的一员。曾与知名演员 列奥那多·狄卡皮欧 交往过。2013年最后一
  • 指环王:护戒使者《指环王:护戒使者》(英语:),是一部于2001年上映的美国与新西兰合拍的奇幻史诗电影,由彼得·杰克逊执导,为自J·R·R·托尔金的奇幻小说《魔戒》改编的《魔戒电影三部曲》中的第一
  • 凸泡螺凸泡螺(学名:)为猎女神螺科泡螺属之下的一种动物。本物种分布于菲律宾、新加坡、马来西亚、印度尼西亚、斐济群岛、土阿莫土群岛,包括南中国海等海域,属于暖水种。其常见于水深90
  • 厦门市国祺中学坐标:24°45′12″N 118°11′47″E / 24.75333°N 118.19639°E / 24.75333; 118.19639厦门市国祺中学,建于1992年,是中华人民共和国福建省厦门市同安区的完全中学。2006年,福