上帝对象

✍ dations ◷ 2025-11-28 11:38:22 #反模式

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

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

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

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

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

相关

  • 酯质脂类(英语:Lipid),又称脂质,这是一类不溶于水而易溶于脂肪溶剂(醇、醚、氯仿、苯)等非极性有机溶剂,由脂肪酸与醇作用脱水缩合生成的酯及其衍生物统称为脂类,其中包括脂肪、蜡、类固
  • 明朝科技明朝科技主要介绍明朝在造船、天文、医学、数学及农学等方面的成就。伴随着西学的传入,中晚明的科学技术出现了新的进步。中晚明科学著作众多,例如李时珍的《本草纲目》、宋应
  • 可变数目串联重复可变数目串联重复(或VNTR)是基因组中的位置,其中短核苷酸序列被组织为串联重复。这些可以在许多染色体上找到,并且经常显示个体之间的长度变化(重复的数量)。 每个变体充当遗传等
  • span class=nowrapCssub2/subSOsub4/sub/span&g硫酸铯,即硫酸的铯盐,化学式为Cs2SO4。它的溶解度较大,因此可配制成浓溶液,用于等密度或“密度梯度”离心。
  • 红褐鲤(学名:Cyprinus rubrofuscus)通称为鲤鱼,又名阿穆尔鲤、华南鲤、青鲤等,是鲤科鲤属的一种鱼类,广泛分布于东亚的淡水河流中。本种广泛分布于东亚淡水河系,北起黑龙江、南至红
  • 鲘门镇鲘门镇,是中华人民共和国广东省汕尾市海丰县下辖的一个乡镇级行政单位。现也为深汕合作区一部分,由深圳市管理。鲘门镇下辖以下地区:后门社区、红泉村、红源村、民生村、朝面山
  • 万圣节万圣节可以指:
  • 肾 (脏腑)中医传统上所指的肾,与现代医学及生物学中的肾脏大致上是指相近的构造,但是功能上并不完全对应。在脏象学说中,肾属五脏之一,属水,与膀胱互为表里。而且肾为水火之脏,含肾阴、肾阳
  • 法国最高法院)的名下被建立,它的初始宗旨是有低级地方特权法院的修正司法权的复审法院。法院由法官、检察官办公室和法院行政办公室组成。另外,一个被专门认证的讼务律师的分离律师为在法国
  • 宋邦绥宋邦绥(?-1779年),字逸才,号况梅,江苏省苏州府长洲县人,清朝官员。宋邦绥为乾隆二年(1737年)进士,改庶吉士,散馆授翰林院编修,乾隆9年,河南乡试正考官;乾隆9年-乾隆?年,翰林院侍读;乾隆9年-乾