метод с двумя параметрами, которые нужно отправить дважды - PullRequest
3 голосов
/ 19 мая 2010

Допустим, у меня есть метод, который имеет два параметра. я выполняю их как:

if(aObj instance of Marble)   {
   if(bObj instance of Bomb)   {
      this.resolve((Marble)aObj,(Bomb)bObj);
   }
}

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

Я реализую в Java.

1 Ответ

1 голос
/ 19 мая 2010

Если возможно, я бы использовал шаблон посетителя .

То есть класс, который определяет метод (точнее, метод s для каждого типа), реализует интерфейс, называемый посетителем. Вместо того, чтобы делать проверки экземпляров, вы затем вызываете object.accept (this). Затем объект вызывает правильный «визит» -метод посетителя.

...