恶作剧反模式的例子

时间:2012-10-09 14:09:50

标签: design-patterns anti-patterns

我正在试图理解什么是Poltergeist反模式,它与Command或Delegate模式有何不同。 我读过:

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

但是不明白这个区别......

所以要说清楚我想看看它的代码示例(我更喜欢C#或Java语言)。

有人有吗?

2 个答案:

答案 0 :(得分:2)

维基百科用以下内容描述命令模式:

  

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

这个概念非常类似于函数编程中的仿函数(仿函数基本上是黑盒子中的函数,参数和所有函数)

吵闹鬼被描述为:

  

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

命令是通用的,必须能够包含足够的状态才能重用。恶作剧者通常是特殊目的,只是为了敲打一些椅子并在地下室发出响亮的声音,然后消失。恶作剧者通常被用作拐杖来帮助构建或初始化一个物体,很少用于分享施工后的状态变化。

换句话说,是的,它们模糊地相似,但是恶作剧者不灵活,代表静态行为,命令是通用的,可以重复使用,并代表可配置的动作。

答案 1 :(得分:0)

根据定义,价值对象往往属于这一类。

http://en.wikipedia.org/wiki/Value_object

它们存在以推动价值观,但不做任何事情。