Шаблон проектирования, используемый в базовом Java-классе ExecutorCompletionService - PullRequest
0 голосов
/ 17 декабря 2018

ExecutorCompletionService является оберткой вокруг классов Executor и ExecutorService.Я могу думать о многих шаблонах проектирования, посмотрев на исходный код класса ExecutorCompletionService

public class ExecutorCompletionService<V> implements CompletionService<V>
{
    public ExecutorCompletionService(Executor executor) {
    }
}
  • Шаблон проектирования прокси
  • Шаблон проектирования адаптера
  • Шаблон проектирования декоратора
  • Шаблон проектирования моста

Может ли кто-нибудь подробно объяснить, какой шаблон проектирования можно классифицировать для реализации этого класса?Заранее спасибо.

1 Ответ

0 голосов
/ 17 декабря 2018

ExecutorCompletionService - это не оболочка вокруг Executor, это реализация CompletionService, которая использует Исполнителя для своей работы.

То, что это Executor внедряется через конструктор, а не создается внутри, является приложением Deverdency Inversion.

Аналогично, он также может принимать внешнее BockingQueue -реализация, которая будет использоваться дляудержание выполненных задач, но это не делает его оберткой вокруг BockingQueue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...