Depository of News

Проектирование архитектуры плагинов для сторонних провайдеров баз данных в TypeScript-приложении

newsdepo.com · tech

<img src="https://habrastorage.org/getpro/habr/upload_files/99f/b13/4b5/99fb134b5ec60c68f8a78800045ec853.png" /><p>Я работал над архитектурой LibreDB Studio — IDE для баз данных на TypeScript, которая поддерживает несколько SQL/NoSQL баз данных.</p><p>Работая над слоем провайдеров, я пришёл к довольно строгой архитектуре провайдеров, чтобы сделать добавление новых баз данных безопаснее и сократить объём основного кода, который нужно менять.</p><p>Я написал об этой архитектуре здесь:<br><a href="https://libredb.org/blog/building-universal-database-provider-typescript/" rel="noopener nofollow">https://libredb.org/blog/building-universal-database-provider-typescript/</a></p><p>Текущий процесс добавления провайдера задокументирован здесь:<br><a href="https://github.com/libredb/libredb-studio/blob/main/docs/ADDING_A_PROVIDER.md" rel="noopener nofollow">https://github.com/libredb/libredb-studio/blob/main/docs/ADDING_A_PROVIDER.md</a></p><p>Архитектура работает достаточно хорошо, но у меня возник более широкий вопрос.</p><p>Сейчас добавление нового провайдера по-прежнему означает добавление его в основную кодовую базу Libredb-Studio. В конечном итоге я хотел бы перейти к чему-то более похожему на экосистему плагинов:</p> <a href="https://habr.com/ru/articles/1081836/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=1081836#habracut">Читать далее</a>

Read full article →