上帝对象

✍ dations ◷ 2025-11-30 17:11:42 #反模式

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

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

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

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

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

相关

  • 不等鞭毛门不等鞭毛总门(学名:Heterokonta)旧为不等鞭毛门,是真核生物的主要演化支之一,已知的下辖物种超过10万个物种,当中大多数属于藻类,从多细胞的大型藻类海带,到单细胞的各种浮游硅藻,这
  • 桂花桂花(学名:Osmanthus fragrans),又名梫、月桂,分为木樨和金桂,常绿灌木或小乔木;叶子对生,多呈椭圆或长椭圆形,叶面光滑,革质,叶边缘有锯齿;秋季开花,花簇生于叶腋,花冠分裂至基乳有乳白、
  • 逃生梯逃生梯又称消防梯,为一种建筑设施作为火灾时的逃生通道,各国消防法多有规定设置,并列入建筑消防执照检查项目。逃生梯通常别于主要日常楼梯,以做为第二通道的特性设置,美国有诸多
  • 韩服韩服 (朝鲜语:한복/韓服),朝鲜称朝鲜服(朝鲜语:조선옷/朝鮮옷),是一种传统的韩民族(朝鲜民族)服装。韩服深受中国服饰的影响,可以分为王室礼服、官服、士大夫服制以及平民服制。由韩服承
  • 松尾芭蕉松尾芭蕉 (生于宽永21年(1644年),卒于元禄7年10月12日(1694年11月28日)),是日本江户时代前期的一位俳谐师(日语:俳諧師)的署名。他公认的功绩是把俳句形式推向顶峰,但是在他生活的时代,芭
  • 心跳骤停心脏停止(Cardiac arrest)或称为心搏停止,是心脏因不能够有效收缩,而导致血液循环停止的现象,症状包含丧失意识(英语:Unconsciousness)、呼吸异常或中止(英语:respiratory arrest),有些
  • 宇宙快速船‘宇宙快速船’(うちゅうかいそくせん、or )是1961年的日本电影。主演(日语:主演) : 千叶真一。
  • 弧后盆地弧后盆地(Back-arc basins)是属于隐没系统中的地质构造单元。弧后盆地即在隐没带,坐落于火山弧后面的盆地,即称之。弧后盆地最广为讨论的应属分布在西太平洋一系列的弧后盆地,如:
  • 阿纳托利·布戈尔斯基阿纳托利·布戈尔斯基(或译阿纳托里·邦格里斯基,俄语:Анатолий Петрович Бугорский,1942年6月25日-),是苏联物理学家,毕业于莫斯科工程物理学院(英语:Natio
  • 飓风卡蒂娅 (2011年)飓风卡蒂娅(英语:Hurricane Katia)是一场典型的佛得角型飓风(英语:Cape Verde hurricane),成为后热带气旋后为欧洲带来了巨大的影响。卡蒂娅是相对较为活跃的2011年大西洋飓风季中