上帝对象

✍ dations ◷ 2025-11-20 21:10:57 #反模式

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

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

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

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

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

相关

  • 时态时或时态(Tempus、英语:Tense),是一种语法范畴,在语法里是表示行为发生的时间和说话时的关系。一般分为过去时、现在时、将来时,通常也有与表示动作进行或终止的进行式和完成式等
  • 淞沪协定《淞沪停战协定》也称《上海停战协定》,是1932年中日之间结束“一·二八”淞沪抗战签订的停战协定。1932年1月28日晚,日本海军陆战队2300人在坦克掩护下由租界向上海闸北一带
  • 国家电影中心财团法人国家电影中心,简称TFI,为保存台湾电影文化资产的中华民国公设财团法人机构,1978年由行政院新闻局与民间集资成立。为国际电影资料馆联盟(英语:Fédération Internationa
  • 亚哥花园亚哥花园(英语:Encore Garden),是台湾中部一座大型花园及已停业游乐园,位于台中市北屯区大坑风景区,曾是台中市知名观光景点之一,以种植各种花卉奇树和水舞表演为卖点,亦有游乐设施
  • Tell Me Goodbye《Tell Me Goodbye》是BIGBANG在日本的第4张单曲,于2010年6月9日发售。
  • 2011年1月逝世人物列表2011年1月逝世人物列表,是用于汇总2011年1月期间逝世人物的列表。
  • 陈铁梅陈铁梅(1935年6月30日-2018年10月25日),男,上海人,中国科技考古学专家。北京大学考古文博学院教授。1935年6月30日生于上海市。1952年上海中学毕业,考入北京大学物理系。1959年毕业
  • 139工程139工程(俄语:Объект 139),又称T-54M,是苏联的一款中型坦克原型车,由T-54A中型坦克改进而来。1955年2月24日,苏联部长会议委派下塔吉尔的乌拉尔重型机械厂第183工厂设计一款T
  • 桂宫宜仁亲王桂宫宜仁亲王(1948年2月11日-2014年6月8日),上皇明仁的堂弟,三笠宫崇仁亲王的第2个儿子。在日本皇室的《皇室典范》规范中,宜仁被敬称为殿下。他哥哥是宽仁亲王,弟弟是宪仁亲王,姐姐
  • 第1舰队 (日本海军)第1舰队为旧大日本帝国海军之一部队。1903年12月26日由常备舰队分割为二,再编制成军。此时分离之第2舰队成为常设舰队,设置为决战舰队之主力战舰,也经常与第二舰队组成连合舰队