Хотя я не работал над общедоступной версией этого, я был в нескольких рабочих средах, где были структуры, как делить код на различные компоненты. Позвольте мне описать примеры, которые могут помочь:
Настройка ASP / COM: В одной компании на веб-страницах существовал VBScript для кода ASP с объектной моделью, написанной на C ++, которая взаимодействовала с серверной частью Oracle. Были только некоторые разработчики, которые могли изменить объектную модель, что ограничивало то, что некоторые из нас могли сделать, но также обеспечивало способ отделить, кто чем занимался, и разные навыки для каждого. У разработчиков переднего плана было несколько сценариев, позволяющих загружать двоичные файлы, и, кроме API, часто не заботились о том, как это делается.
Внутренняя / внешняя настройка: в другой компании существовала внутренняя платформа с собственным именем, над которой работали несколько разработчиков. Пара других разработчиков работали над интерфейсом, который подключался через API, используя удаленное взаимодействие объектов .Net для выполнения различных функций. У этого были свои хорошие и плохие моменты, поскольку бывали времена, когда клиенту требовались новые вызовы, и нам приходилось ждать, пока эти вызовы будут реализованы.
Надеюсь, это как-то полезно.