Интересный рассказ русского программиста из команды Google AdWords можно почитать здесь.

Цитата: «Разработка платежной системы для AdWords — дело технически интересное. Во-первых, с каждым методом оплаты связан целый ряд требований и тонкостей. Во-вторых, мы поддерживаем огромное количество комбинаций стран, валют и методов оплаты. Если к этой задаче подходить «на таран» и писать «if-then-else» для каждой возможной комбинации, количество кода будет расти геометрически и он очень быстро превратится в спагетти. Поэтому часто приходится искать нестандартные решения и совмещать идеи из разных языков и школ программирования. Например, последние пару недель я экспериментирую с разными способами симуляции мультиметодов на Java с использованием шаблонов.«