между if и switch нет принципиальной разницы

Код AS3:
switch (e.target) // можно так же сравнивать по инстанснеймам, как вам там удобнее
{
case lamp:
useLamp();
break;
case ampermetr:
useAmpermetr();
break;
case voltmetr:
useVoltmetr();
break;
}
Что тут происходит? Мы вместо того, чтобы подписать на каждую кнопку свое УНИКАЛЬНОЕ действие, подписываем один слушатель с определением какая кнопка сработала. Зачем? У нас не было лишней логики, теперь мы ее добавили - можно себя поздравить