IntentService是Command Pattern的一个实现吗?

时间:2016-01-24 23:04:33

标签: java android design-patterns mvp

根据Wikipedia

"在面向对象的编程中,命令模式是一种行为设计模式,其中一个对象用于封装执行操作或稍后触发事件所需的所有信息。此信息包括方法名称,拥有方法的对象和方法参数的值。"

根据professor Schmidt's text,命令有:

  • 与时间无关的应用程序逻辑执行。 封装 应用程序逻辑允许对其进行排队并在其中的不同点执行它 时间。
  • 应用程序逻辑的上下文无关执行。 分离 应用程序逻辑和上下文之间允许执行应用程序 在不同的上下文中,例如在不同的线程中或使用不同的状态。
  • 应用程序逻辑的可交换性。 应用程序之间的分离 逻辑和上下文允许更容易地交换应用程序逻辑。

如果将所有信息封装到Intent中,onHandleIntent将作为命令执行程序的抽象方法,就像在command processor pattern文本中所描述的那样。

因此,您只需将命令执行委派给操作系统,而不是显式实现执行程序以调用命令。

所以问题是:

  1. IntentService是命令模式的框架实现吗?
  2. 在肯定的情况下,为什么有些Android MVP implementations显式实现了自己的执行器而不是使用框架提供的执行器?

0 个答案:

没有答案