SerafimArts
@SerafimArts
Senior Notepad Reader

Как называется паттерн обратной двойной диспатчеризации?

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

В моём случае выбирается наиболее подходящий аргумент из DI контейнера и подсовывается в метод, следуя его сигнатуре. Что-то вроде автовайринга в Spring и Symfony.

Псевдокод:
// Регистрация в контейнере
container = new Container();
container.registerInstance(UserRepositoryInterface, repository);

// Сам класс
class Some {
    method(UserRepositoryInterface users) { ... }
}

// Непосредственно вызов
some = new Some();
container.callMethod(some, "method");


Т.е. вызывается метод "method", используя некий паттерн матчинг для аргументов.
  • Вопрос задан
  • 260 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы