Основная проблема
Видя хорошую поддержку, которую оказывают большинство современных программных платформ для управления пакетами (думаю gem
, npm
и pip
т. Д.), Имеет ли смысл проектировать приложение или систему, состоящую из пакетов, разработанных внутри компании, чтобы продвигать и создавать слабосвязанную архитектуру?
пример
Примером этого может быть создание пакетов для доступа к базе данных, а также для аутентификации и других компонентов системы. Они, конечно, используют и внешние пакеты. Затем ваша система импортирует и использует эти пакеты - вместо включения их кода в свою собственную кодовую базу.
Соображения
Мне кажется, что это будет способствовать разъединению кода и поддержанию возможности сопровождения, почти в виде веб-приложения по сравнению с настольным приложением (обновления применяются почти автоматически, единая база кода для единой функциональности и т. Д.).
Похоже ли это на рациональную и разумную концепцию дизайна? Используется ли это сегодня как стандартный способ структурирования приложений сегодня?