2

在 Drupal 中,drupal_alter() 函数与以下模式一起使用:

  1. 您的模块 (foo) 生成某种类型的对象,例如通过提供 foo_get() 方法。
  2. 在返回对象之前, foo 模块在其上调用 drupal_alter()。
  3. drupal_alter() 调用其他模块提供的改变对象的钩子(例如 bar_foo_alter())。
  4. 返回更改后的对象。

在 Drupal 中,它用于允许模块扩展由其他模块创建的 html 表单。有关它如何在 Drupal 中工作的更多信息:http: //erikwebb.net/blog/drupal-design-patterns/hooks

这种设计模式有名字吗?总而言之,必要的标准是:

  • 模块提供产生对象的方法。
  • 任意数量的其他模块可能会在对象返回之前对其进行更改。
  • 更改模块仅依赖于生成模块。
  • 生产模块不依赖于变更模块。
4

2 回答 2

1

“穷人的依赖注入。” (又名Ghetto Listener设计模式。)

于 2013-09-03T18:03:19.123 回答
0

可能类似于装饰器模式? http://en.wikipedia.org/wiki/Decorator_pattern

于 2013-09-04T21:57:12.397 回答