幽灵 (反面模式)

✍ dations ◷ 2025-09-09 13:41:35 #反模式

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

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

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

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

相关

  • 西摩·本泽西摩·本泽(英语:Seymour Benzer,1921年10月5日-2007年11月30日),美国物理学家、分子生物学家和行为遗传学家。他的职业生涯开始于20世纪50年代的分子生物学革命的时期,最终在分子
  • 肌动蛋白结构 / ECOD肌动蛋白(英语:actin)是一类分子量大约在42,000的球状蛋白质。除了已经知道的线虫类精子细胞之外,在所有的真核细胞当中均发现有该蛋白质,浓度约在100μM以上,其质量约
  • 插图插画(illustration)又称插图。此词的定义不一,解释繁多,就功能面陈述,插画是将文字内容、故事或思想以视觉化的方式呈现。一般来说,插画与其他纯艺术的最大分野之处不只在于有文字
  • 葡萄牙共和国葡萄牙共和国(葡萄牙语:República Portuguesa)总共包括葡萄牙历史上以下三个以此为正式国名的共和国政权:1. 葡萄牙第一共和国(1910年—1926年)。2. 葡萄牙第二共和国(1926年—197
  • 贝尔直升机德事隆贝尔直升机德事隆(Bell Helicopter Textron)是一家美国直升机和倾转旋翼机制造商,总部位于德克萨斯福沃斯(Fort Worth)。贝尔直升机前身为贝尔飞行器公司,属于德事隆(Textron)集团
  • 撒马利亚救援会撒马利亚救援会(Samaritan's Purse),或译普善施,是一个总部位于美国北卡罗来纳州布恩的基督教福音派国际慈善机构。现任会长是葛福临。该组织的名称来自《新约》中好撒马利亚人
  • 尼波罗国尼波罗国(尼泊尔语:लिच्छवी वंश,转写:Licchavī vanśa,直译“离车毗王朝”)是尼泊尔第一个有明文记录王朝,从约公元400年存续至750年,由离车族(英语:Licchavi (clan))(Liccha
  • 溪菜目见内文溪菜目(学名:Prasiolales)为藻类植物之一植物目。该植物于植物分类表上,归于绿藻门(Chlorophyta)共球藻纲 (Trebouxiophyceae),同纲者尚有小球藻目(Chlorellales)等藻类目。本目
  • 博宾镇博宾镇(缅甸语:ဘုတ်ပြင်းမြို့နယ်;英语:Bokpyin Township;泰语:บกเปี้ยน;皇家音译:),或译博彬镇,为缅甸德林达依省高当县的镇区。2014年人口81,718人,区域面积
  • 阿贡二世阿贡二世(约公元前1570年前后在位)(英语:Agum II)加喜特国王,巴比伦第三王朝的建立者。他是在赫梯人摧毁巴比伦并终结巴比伦第一王朝后,成为第一位巴比伦城的加喜特统治者。根据史