在程式设计中，幽灵（）是指一些生命期很短，没有内部状态的物件，这些物件是只用来进行初始化或调用其他生命期较长物件的方法。幽灵是一种反面模式。原始定义是由 Michael Akroyd 于1996年在Object World West Conference中提出：幽灵物件常常可以由其名称来识别：例如 "manager_"、"controller_"或"start_process"等。有时幽灵物件的创建是因为程式设计者预期需要使用一个复杂的架构，例如在命令模式下同一个方法需适用于客户端及调用端，因此程式