Вы путаете теплое с мягким.
UML - это язык для рисования схем, которым пользуются для того, чтобы нарисовать классы и их взаимосвязь. С паттернами программирования никак не связано.
Паттерны программирования - это архитектурное решение популярных задач, чтобы не изобретать велосипед, которое не имеет отношение к языку программирования. Просто у вас есть некая задача, вы придумаваете алгоритм, который ее решает. Паттерны позволяют вам не выдумывать алгоритм, а глянуть - вдруг подобные задачи уже до вас решали, и есть подходящие паттерны. После чего на нужном языке вы этот паттерн реализуете. А если коллектив большой, то общаясь с коллегами вы не будете им полтора часа рассказывать идею, а просто назовете имя паттерна и все кто с ними знаком вас поймут с полуслова.