Wig female, pear clip hair flower head, air Qi Liu Hai, inside the hair extensions middle point, fashion and natural, realistic real hair wigs micro-volume, wig set,remy hair head black, Korean side, new specials.
12 факторов. Фактор №2 — Зависимости | 8bytes

12 факторов. Фактор №2 — Зависимости

30.07.2018koshevoy

Фактор №2 — Зависимости (dependencies) — второй фактор методологии 12 факторного приложения. После кодовой базы — очевидный и необходимый пункт разработки. Зависимость — это те внешние библиотеки, которые необходимы нам для работы вашего приложения. Практически во всех существующих современных языках программирования используются пакетные менеджеры (системы управления пакетами), основная задача которых хранить список необходимых библиотек, а также давать возможность пользователям загружать и выгружать свои пакеты. Системы управления пакетами активно используются также в Unix/Linux, на уровне ОС. Из тех, которые все знают — это npm в мире JavaScript и NuGet в мире Microsoft.

Как правило, в любых пакетных менеджерах существует две директории, в которые происходит загрузка библиотек — это общая папка на уровне системы, доступная для всех программ и из любого места, а также приватная папка конкретного приложения, в которое устанавливаются какие-то конкретные библиотеки (часто это называют vendor, bundle).

По-хорошему, ваше приложение никогда не должно ссылаться на общие системные пакеты, а иметь свою личную копию (благо дело, дисковое пространство сейчас ничего не стоит) — изоляция зависимостей. Каждое отдельное приложение должно явно и декларативно объявлять список всех своих зависимостей: название и версии, подобный конфиг называется декларацией зависимостей. Часто создают также ещё один уровень изоляции — кеширование пакетов. Это кеширование может понадобится в случае, если используемую вами библиотеку кто-то по какой-либо причине удалит из пакетного менеджера.

Декларация зависимостей нужна не только для создания приложения. Важным преимуществом является и лёгкость в последующем развёртывании, а также подключении новых разработчиков. Всё необходимое (restore нужных библиотек) примет на себя либо ваша IDE, либо это можно будет сделать непосредственно в консоли или даже GUI вариантах.

Второй пункт двенадцатифакторного приложения важен тем, что решает много проблем. В первую очередь это dependency hell, это лёгкость и скорость в развёртывании и подключении новых участников разработки. Имея возможность всегда явно указывать название и версию мы избавляем себя от проблем с breaking change (т.е. обратно несовместимые изменения), когда новая версия библиотеки перестаёт поддерживать старый функционал, появляются obsolete-методы (устаревшие или более неподдерживаемые) или же меняется логика работы без изменения сигнатур или названий (совершенно криминальное дело, но этого сплошь и рядом полно).

Leave a comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Предыдущая запись Следующая запись