Сохраните библиотеки! Репозиторий должен быть снимком того, что требуется, чтобы разрабатывать проект в любой момент вовремя. Поскольку проект требует различной версии внешних библиотек, которые Вы захотите обновить / регистрируются в более новых версиях этих библиотек. Тем путем Вы будете в состоянии заставить всю правильную версию идти со старым снимком, если необходимо исправить более старый выпуск и т.д.
Фреймворк навязывает разработчику некоторые шаблоны проектирования и предоставляет некоторые инструменты для генерации кода. Это хорошо сочетается с моим первым предложением, поскольку оно генерирует код в определенном стиле / шаблоне.
Библиотека дает вам функциональные возможности, которые вы можете использовать по своему желанию. Как и функции stdio языка C,
Консоль C #, "встроенные" функции PHP и т. Д.
Вы можете рассматривать библиотеку как своего рода API
Цитата из статьи Мартина Фолвера о Инверсии управления :
Инверсия управления является ключевой частью что отличает фреймворк от библиотека. Библиотека - это, по сути, набор функций, которые можно вызвать , в наши дни обычно организованы в классы. Каждый звонок выполняет некоторую работу и возвращает управление клиенту.
Фреймворк воплощает в себе некоторые абстрактные дизайн, с большим встроенным поведением. Чтобы использовать его, вам нужно вставить ваше поведение в разных местах в каркас либо путем подкласса, либо подключив свои собственные классы. код фреймворка затем вызывает ваш код в этих точках .
Короче говоря, большая разница в том, что ваш код вызывает библиотеку, а фреймворк вызывает ваш код.
В моей книге фреймворк предоставляет структуру и поощряет или требует чтобы его использовали определенным образом. Это может быть хорошо, если разработчик хочет делать что-то в соответствии с фреймворком, поскольку многие вещи проще выполнять автоматически, но это может быть плохо, если разработчик хочет отклониться от намерения фреймворка.
С другой стороны, инструментарий hand, предоставляет различные инструменты, которые можно использовать вместе или по отдельности. Он более гибкий, но требует больших усилий со стороны программиста.