У меня есть логическая ситуация, которую лучше всего описать как две «команды», пытающиеся выиграть задачу. Результатом этой задачи может быть единственный победитель, ничья (ничья) или отсутствие победителя (патовая ситуация).
В настоящее время я использую вложенный оператор if / else, например:
// using PHP, but the concept seems language agnostic.
if ($team_a->win()) {
if ($team_b->win()) {
// this is a draw
} else {
// team_a is the winner
}
} else {
if ($team_b->win()) {
// team_b is the winner
} else {
// This is a stalemate, no winner.
}
}
Это кажется довольно спагетти- нравится и повторяется. Есть ли более логичный шаблон DRY, который я мог бы использовать?