幽灵 (反面模式)

✍ dations ◷ 2024-09-20 00:10:02 #反模式

在程式设计中,幽灵(poltergeist)是指一些生命期很短,没有内部状态的物件,这些物件是只用来进行初始化或调用其他生命期较长物件的方法。幽灵是一种反面模式。原始定义是由 Michael Akroyd 于1996年在Object World West Conference中提出:

幽灵物件常常可以由其名称来识别:例如 "manager_"、"controller_"或"start_process"等。

有时幽灵物件的创建是因为程式设计者预期需要使用一个复杂的架构,例如在命令模式下同一个方法需适用于客户端及调用端,因此程式设计者将其分为二个阶段,只是复杂的架构后来没有实现,只留下幽灵物件。不能将幽灵物件和其他在MVC等设计模式中使用,生命期较长,有状态的物件混为一谈。

若要移除幽灵物件,可直接删除物件,将其机能直接加入要调用幽灵物件的物件中,加入机能的方式可以透过继承或是混入(英语:mixin)的方式。

相关

  • Wired《连线》(Wired)是一份在全美国发行的彩色月刊杂志,并同时拥有在线版本。该杂志于1993年3月开始发行,着重报道科技对文化、经济和政治的影响。《连线》杂志隶属于康泰纳仕集团,总
  • 转基因阴谋论转基因食品争议(英语:Genetically modified food controversies)是指关于食用转基因作物及其副产品、在食品生产中利用基因工程技术等方面的争议。这场争议与消费者、生物技术
  • 按揭抵押(mortgage),是指提供私人资产(不论是否为不动产)作为债务担保的动作,多发生于购买房地产时银行借出的抵押贷款或在典当商折现非不动产的物品。抵押常在银行或地产界使用。在广
  • 民马罗巴区民马罗巴(MIMAROPA),是菲律宾西部一个大区,由马林杜克省、西民都洛省、东民都洛省、巴拉望省、朗布隆省等组成,区名来自于这些省的缩写。民马罗巴区总面积29,621平方公里,人口2,55
  • 祁东县祁东县为衡阳市下辖的县。位于中华人民共和国湖南省南部、湘江中游祁水流域,南连祁阳,北抵邵东,衡阳,东接衡南,西邻东安、邵阳。1952年,析祁阳东北六区置祁东县,因位于祁阳东部故名
  • 哈茨菲尔德-杰克逊亚特兰大国际机场哈茨菲尔德-杰克逊亚特兰大国际机场(英语:Hartsfield-Jackson Atlanta International Airport;IATA代码:ATL;ICAO代码:KATL;FAA代码:ATL),简称亚特兰大机场、哈茨菲尔德-杰克逊机场或
  • 亨德森-哈塞尔巴尔赫方程亨德森-哈塞尔巴尔赫方程(Henderson-Hasselbalch equation)是化学中关于酸碱平衡的一个方程。该方程使用pa(即酸解离常数)描述pH值的变化。它可以用来估算缓冲体系的pH。方程的
  • 西泽广义西泽广义(日语:西沢 広義,1920年1月27日-1944年10月26日),是第二次世界大战(太平洋战争)时期日本海军的战斗机驾驶员。西泽的战绩据当时的部队报告有150架,他自己在家信里写道击落了1
  • 女神异闻录3与4系列角色列表女神异闻录3与4系列角色列表展示于日本Atlus 发售的角色扮演游戏系列作品《女神异闻录3》(Shin Megami Tensei: Persona 3,简称“P3”)和《女神异闻录4》(Shin Megami Tensei: P
  • 哑鸣哑鸣(本名林明亚,1986年10月4日-)是台湾的男性轻小说作家,辅仁大学进修部历史系毕业。以《搞笑漫画日和》中的角色熊吉为形象代表。身障者,原本是打算透过漫画来描述故事,后来发现