Является ли IntentService реализацией Command Pattern?

Согласно Википедии :

«В объектно-ориентированном программировании шаблон команды представляет собой поведенческий шаблон проектирования, в котором объект используется для инкапсуляции всей информации, необходимой для выполнения действия или запуска события в более позднее время. Эта информация включает имя метода, объект, которому принадлежит Метод и значения параметров метода ».

И, согласно тексту профессора Шмидта , команда имеет:

  • Не зависящее от времени выполнение прикладной логики. Инкапсуляция логики приложения позволяет ее поставить в очередь и выполнить ее в другой момент времени.
  • Контекстно-независимое выполнение логики приложения. Разделение между логикой приложения и контекстом позволяет выполнять приложение в отдельных контекстах, например, в другом потоке или в другом состоянии.
  • Заменяемость логики приложения. Разделение между логикой приложения и контекстом позволяет упростить обмен прикладной логикой.

Если вы инкапсулируете всю информацию в Intent , onHandleIntent работает как абстрактный метод для исполнителя команд, как описано в тексте шаблона командного процессора .

Таким образом, вместо того, чтобы явно реализовать исполнителя для вызова команды, вы просто делегируете выполнение команды операционной системе.

Поэтому вопросы:

  1. Является ли IntentService реализацией структуры для шаблона команды?
  2. В утвердительном случае, почему некоторые реализации Android MVP явно реализуют собственный исполнитель вместо того, чтобы использовать тот, который предоставляется инфраструктурой?

Intereting Posts
Как вставить значок с высоким разрешением в приложение Amazon-AppStore Kindle Fire? Как поставить кнопку рядом с титанием активности в андроиде? Ошибка getApplicationContext () Android Программный аксессуар для Android на Windows Как сохранить вид карты внутри фрагмента? Как программно выбирать между Bluetooth и телефонной трубкой для мультимедийного аудио Создание хеш-ключа для приложения с использованием facebook sdk Как безопасно сохранить заказ в облаке, если вы не можете проверить платеж из облака? Как я могу (косвенно) запросить базу данных postgresql в android? Запуск простых тестов JUnit на Android Studio (IntelliJ) при использовании конфигурации на основе Gradle Как реализовать связь между клиентским приложением Java (Android) и приложением PHP-сервера? Как связать несколько методов GroupBy () RxJava, таких как groupBy (). GroupBy () Подключение по имени службы Bluetooth Как отлаживать при запуске Robolectric тестов в Android Studio? Init.rc не запускает мой сервис при первой загрузке после вспышки