上帝对象

✍ dations ◷ 2025-12-10 13:48:06 #反模式

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

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

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

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

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

相关

  • 2-己醇2-己醇,是一种醇类的有机化合物,是在二号碳上接羟基的己醇。它的化学式是C6H13OH、示性式是C4H9CH(OH)CH3,是正己醇的一种异构物。 2-己醇有一个手性中心,故存在光学异构物
  • 胆甾烷(1S,2S,10R,11S,14R,15R)-2,15-二甲基-14-四环十七烷胆甾烷(英语:Cholestane)是一种饱和的四环三萜化合物,是胆固醇成岩作用产生的主要C-27生物标记,在岩石记录中最为丰富。在石
  • 攻占阿尔巴尼亚贝尼托·墨索里尼佐格一世意大利入侵阿尔巴尼亚(1939年4月7日—4月12日)是法西斯意大利对阿尔巴尼亚王国采取的一个非常简单的军事行动,该冲突是意大利独裁者贝尼托·墨索里尼
  • 无线电时钟无线电时钟,又称电波时钟,是指可以通过接收授时无线电波进行即时时间校准的时钟。其核心有一个具极端精确的电波接收器,每天自动接收由世界各地以原子钟计时的基地台发射出的“
  • 弗雷德里克·恩德特弗雷德里克·恩德特(Frederik Hendrik Endert,1891年-1953年)为荷兰植物学家。1915年,弗雷德里克·恩德特被任命为荷属东印度群岛林业服务的林业主任。1918年起,他与茂物林业研究
  • CLUB QUATTROCLUB QUATTRO(日语:クラブクアトロ)是日本巴而可公司所运营的LiveHouse。最早于1988年在东京都涩谷开业,此后分别在名古屋、大阪、广岛等地开业。除各场馆进行音乐演出活动外,在
  • 陶瀛孙陶瀛孙(1909年9月-2003年5月19日),女,江苏无锡人,中国社会活动家,上海中学教师。1909年9月父母留学日本期间出生于东京。曾在日本小学学习,回国后在无锡竞志女中及上海立达学园学习
  • 安布鲁瓦兹·帕雷安布鲁瓦兹·帕雷(法语:Ambroise Paré),(1510年-1590年),文艺复兴时期欧洲法国外科医生之一。曾服务于亨利二世、弗兰西斯二世等君主。曾作为军医随军参加战争,后又专攻普通外科。撰
  • 格奥尔基·弗伦斯努格奥尔基·弗伦斯努(罗马尼亚语:Gheorghe Vrănceanu,1900年6月30日-1979年4月27日)是一名罗马尼亚数学家,最著名的是他在微分几何和拓扑方面的工作。
  • 黄图安黄图安(?-1659年),山东承宣布政使司东昌府堂邑县(今山东省聊城市)人,明末清初政治人物。崇祯十年(1637年),登进士,授保定府推官,升吏部主事,升任员外郎。明亡仕清,授山西提刑按察司佥事、分