Это был бы паттерн моста, если бы вы передавали API в конструктор Mesh.С другой стороны, он похож на шаблон посетителей.
Этот подход может быть правильным, но я не могу сказать это по короткому фрагменту.Хороший дизайн может выглядеть следующим образом (это простой пример шаблона посетителя).
- API интерфейса
- void render (Mesh mesh);
- voidrender (Sprite sprite);
- интерфейс Drawable
- класс Mesh реализует сетку Drawable
- void draw (API api) {api.render (this);}
- реализует класс Sprite Drawable
- void draw (API api) {api.render (this);}
- Класс Group реализует Drawable
- void draw (API api) {for (Drawable e: elements) e.draw (api);}
В этом случае передача этой ссылки имеет смысл, поскольку реализации Drawable выбирают правильный (перегруженный) метод API.
Без болееинформация, это то, что я бы порекомендовал.