上帝对象

✍ dations ◷ 2025-05-01 00:59:14 #反模式

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

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

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

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

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

相关

  • 光系统 I光系统 I( PSI,或质体蓝素 - 铁氧还蛋白氧化还原酶 )是藻类、植物和一些细菌的光合作用光反应中的第二个光系统。 光系统  I是一种完整的膜蛋白复合物,它使用光能,以产生高能量
  • 病虫害防治病虫害防治(英语:Pest control)是指针对性地消灭一些害虫物种,来保障粮食产量、人类健康以及生态平衡的农业过程。从事病虫害防治这一行当的专家在美国被称为“扑灭者”(英语:Exte
  • 台湾省文献委员会国史馆台湾文献馆(简称台湾文献馆)是中华民国政府维护与保存台湾相关史政文献的专责机构,前身为台湾省政府设置的“台湾省文献委员会”,精省后改为现名并成为国史馆唯一的附属机
  • 古虫动物亚门古虫动物亚门(学名:Vetulicolia),旧称古虫动物门,是一类已经完全灭绝的脊索动物,在分类学上可能属于后口动物的基部,包括十几个来自寒武纪的化石种。古虫动物亚门是由中国西北大学
  • 克里斯多夫·杜德(1) 苏珊·玛尼,离婚 (2) 杰琪·玛莉·克蕾格克里斯多夫·杜德(Christopher Dodd,1944年5月27日-)是美国的政治人物。隶属民主党籍,杜德从1981年到2011年是康乃迪克州的参议员,曾
  • 根除脊髓灰质炎计划根除脊髓灰质炎计划(英语:Polio eradication)是一项在1988年发起的一场公共卫生计划,旨在全球范围内永久性消除脊髓灰质炎。目前这一计划由世界卫生组织、联合国儿童基金会和扶
  • 年龄适合性年龄适合性(Age appropriateness)是指社会(或是社会学家或是心理学家)认为儿童的行为符合其社交技能发展的情形。这些行为会依照儿童的年龄分为不同的儿童发展阶段。适合特定年
  • 23000E型施托姆级航空母舰23000E工程“施托姆”级航空母舰(俄文:Шторм,意为“暴风”),是俄罗斯海军计划中的新型航空母舰。23000E定位为多用途的重型航空母舰,由俄国的克雷洛夫国家研究中心(英语:Krylov
  • 雅科夫·弗伦克尔雅科夫·伊里奇·弗伦克尔(俄语:Яков Ильич Френкель,1894年2月10日-1952年1月23日)是一位苏联物理学家,以其在凝聚体物理学领域的成就闻名于世。雅科夫·伊里奇
  • 小唐纳德·特朗普小唐纳德·约翰·“唐”·特朗普(英语:Donald John "Don" Trump Jr.,1977年12月31日-)是美国的一位企业家及前电视名人,唐纳德·特朗普和首任妻子伊凡娜·特朗普的长子。他现在与