上帝对象

✍ dations ◷ 2025-12-03 23:26:15 #反模式

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

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

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

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

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

相关

  • 医学标题表医学主题词(Medical Subject Headings,MeSH,或译医学主题词表)是一部庞大的受控词表(或者说,元数据系统),是广泛应用于医学信息检索的一种工具。在生命科学领域旨在用于标引(英语:Subj
  • Ⅲ类抗心律失常药(英语:Antiarrhythmic agents)是一类用于抑制心脏非正常节律(心律失常)的药物,这些情况例如心房颤动、心房扑动、心室性心搏过速以及心室颤动。很多人试图将此类药物
  • 《变形记》《变形记》(拉丁语:Metamorphoseon libri)是罗马的诗人奥维德的作品,大约开始写于公元1年或3年,完成于公元8年,是使用六步格诗体记录了关于变形的神话作品。《变形记》有15册,每册
  • 处理小体处理小体(英语:P-bodies;全名processing bodies,其他名称还有GW-bodies与Dcp bodies)是一种发现于真核细胞内的颗粒(granule)构造,于哺乳动物细胞中的大小约100到300nm。这种颗粒的
  • 山菅山菅(学名:),别称山菅兰(贵州植物志)、山猫儿、交剪草(海南植物志)、山兰花、金交剪(浙江植物志)、山交剪、桔梗兰、老鼠怕及老鼠砒等,为萱草科山菅属植物,为多年生草本植物。花期3-7月。
  • 霍普·索罗霍普·阿米莉亚·索罗(英语:Hope Amelia Solo.,1981年7月30日-)生于华盛顿州里奇兰,是一名美国女子足球运动员,司职门将,现时效力美国女子足球职业联盟的神奇杰克,她同时亦是美国女队
  • 克拉斯诺博尔斯基区坐标:61°33′N 45°56′E / 61.550°N 45.933°E / 61.550; 45.933克拉斯诺博尔斯基区(俄语:Красноборский район),是俄罗斯的一个区,位于该国西北部,由阿尔汉
  • 宫维桢宫维桢(1911年11月-2002年5月17日),男,山东莱阳人,中国近代政治人物。1911年11月出生于山东省莱阳县。1936年夏天考入北京弘达学院,同年9月参加中国共产党领导的中华民族解放先锋队
  • 奥克·赫尔曼奥克·弗雷德里克·赫尔曼(瑞典语:Åke Fredrik Hellman,1915年7月19日-2017年12月18日),是芬兰的静物画家、肖像艺术家、艺术教授。 赫尔曼出生在赫尔辛基。在赫尔辛基大学当过美
  • ASP.NET MVC FrameworkASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类别库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序。它与现有的ASP.NET应用程序并没