Poltergeist 反模式示例

Ole*_*rov 6 design-patterns anti-patterns

我试图了解什么是 Poltergeist 反模式,以及它与 Command 或 Delegate 模式有何不同。我读了:

http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists

但是没看懂区别...

所以为了清楚起见,我想看看它的代码示例(我更喜欢 C# 或 Java 语言)。

有人有吗?

Wug*_*Wug 3

维基百科描述了命令模式:

命令模式是一种行为设计模式,其中使用对象来表示和封装稍后调用方法所需的所有信息。一个组件可以向另一个特定组件发送命令,假设满足某些条件时将触发该命令。

这个概念非常类似于函数式编程中的函子(函子基本上是黑匣子中的函数,参数等等)

恶作剧鬼是这样描述的:

吵闹鬼是一个短暂的、通常是无状态的对象,用于执行初始化或调用另一个类中的方法。

命令是通用的,并且必须能够包含足够的状态以供重用。恶作剧鬼通常都有特殊目的,其存在的目的只是为了让一些椅子嘎嘎作响,在地下室发出巨大的噪音,然后消失。吵闹鬼通常用作帮助构造或初始化对象的拐杖,很少用于共享构造后状态的变化。

换句话说,是的,它们有点相似,但吵闹鬼不灵活,代表静态动作,而命令是通用的,可以重用,代表可配置的动作。