Node.js Фасад интерфейса, за которым прячется версионное API к сторонним ресурсам — есть что-то готовое?
В общем пытаюсь собрать велосипед на треугольных колесах.
Было — один сервис на node.js, который имел отношения со сторонним источником данных в варианте 1-к-1 — все хорошо.
Стало — сторонних источников стало несколько, плюс у каждого источника может «плыть» API — что-то новое умеем в новой версии, что-то старое больше не делаем.
Есть искреннее желание оставить единственный сервис node.js, который сможет собирать фасад с версионной реализацией конкретного Api.
Если на пальцах — для продукта zzz версии xxx собираем интерфейс с реализациями внешнего api от версии 0.0.1 до xxx, приоритетом переопределяя младшие старшими. Т.е. есть у нас папочка продукта с файликами версий, которые экспортируют абстрактные методы и их реализацию. Потом отдаем слепленного монстрика в основной код, который уже работает с абстракциями.
Примерный вариант вроде бы жизнеспособен, НО!
Может кто-то что-то подобное делал в open source или видел — с удовольствием подсмотрю а то и взял бы целиком.
Если даже нет, но есть мысли — буду рад комментариям.
Готовое сразу в github не обещаю, но попробую руководство уломать, буде желающие найдутся.