我试图了解什么是 Poltergeist 反模式,以及它与命令或委托模式有何不同。我读了:
http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists
但是没看懂区别。。。
所以为了清楚起见,我想看看它的代码示例(我更喜欢 C# 或 Java 语言)。
有人有吗?
我试图了解什么是 Poltergeist 反模式,以及它与命令或委托模式有何不同。我读了:
http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists
但是没看懂区别。。。
所以为了清楚起见,我想看看它的代码示例(我更喜欢 C# 或 Java 语言)。
有人有吗?
维基百科用以下方式描述了命令模式:
命令模式是一种行为设计模式,其中对象用于表示和封装稍后调用方法所需的所有信息。一个组件可以向另一个特定组件发送命令,假设满足某些条件时,该命令将被触发。
这个概念很像函数式编程中的函子(函子基本上是一个黑匣子中的函数,参数和所有)
恶作剧鬼被描述为:
poltergeist 是一个短暂的、典型的无状态对象,用于执行初始化或调用另一个类中的方法。
命令是通用的,必须能够包含足够的状态才能重用。捣蛋鬼通常是有特殊目的的,它们的存在只是为了让一些椅子嘎嘎作响,在地下室发出很大的噪音,然后消失。Poltergeists 通常用作帮助构造或初始化对象的拐杖,并且很少用于在构造后共享状态更改。
换句话说,是的,它们有点相似,但是 poltergeists 是不灵活的并且代表一个静态动作,而命令是通用的,可以重用,并且代表一个可配置的动作。