Намного лучше назвать абстрактный класс Drink. Это сохраняет язык чая и кофе. Оба напитка.
Я понятия не имею, как интерпретировать идею о том, что чай и кофе являются шаблонами. Вы легко могли бы заменить имя Template на Base. Шаблон и База - тоже плохие названия, поскольку они обходятся без языка проблемной области, то есть области напитков.