Рубрики

Software Framework против библиотеки

Многие из нас не будут знать об этой разнице, которая действительно важна для понимания во время разработки. Возможный ответ на этот вопрос, если его спросить, будет «Framework — это коллекция различных библиотек». Однако это определение не совсем верно. «Кто кого называет», то есть отношение вызывающий / вызываемый определяет разницу между этими двумя терминами. Это наш код, который вызывает код библиотеки в то время как в рамках, это код платформы, который вызывает наш код. Посмотрим как.

Библиотека

Библиотека предоставляет набор вспомогательных функций / объектов / модулей, которые ваш код приложения вызывает для определенных функций. Библиотеки обычно ориентированы на узкую область (например, строки, ввод-вывод, сокеты), поэтому их API также имеют тенденцию быть меньше и требуют меньшего количества зависимостей. Это просто коллекция определений классов. Зачем они нам нужны? Причина проста, то есть повторное использование кода, используйте код, который уже был написан другими разработчиками. Например, в некоторых библиотеках есть метод findLastIndex (char) для поиска последнего индекса определенного символа в строке. Мы можем сразу вызвать функцию библиотеки findLastIndex (charToFind) и передать символы, положение которых нам нужно найти, в качестве параметра при вызове функции.

Фреймворк

Framework, с другой стороны, определил открытые или не реализованные функции или объекты, которые пользователь пишет для создания пользовательского приложения. (Пользователи C ++ / Java поймут это, так как это похоже на реализацию абстрактной функции). Поскольку фреймворк сам по себе является приложением, он имеет более широкий охват и включает почти все необходимое для создания пользовательского приложения в соответствии с его собственными потребностями. Википедия проясняет это:

«В компьютерном программировании программная структура — это абстракция, в которой программное обеспечение, обеспечивающее общие функциональные возможности, может выборочно изменяться посредством дополнительного написанного пользователем кода, таким образом, обеспечивая программное обеспечение для конкретного приложения»

Таким образом, ключевое отличие заключается в «инверсии управления» , обычно называемой IoC. Когда мы вызываем метод из библиотеки, мы контролируем ситуацию. Но в фреймворке управление инвертировано, т. Е. Фреймворк зовет нас. Он определяет скелет, где приложение определяет свои собственные функции, чтобы заполнить скелет. Например, в Javascript мы обычно используем это:

$(document.ready(){     // this call will be done by the jquery 
// framework when document will be ready.
    
    function() {
        /* your code */    // our implementation inside the framework's function
    }
});

Находясь в библиотеке, мы обычно имеем объект для вызова его функций или просто вызываем их. Пример:

str = "Geeks.ForGeeks"
var pos = str.lastIndexOf("."); // simply calling function of string library

Важные моменты:

  • Библиотека : выполняет ряд конкретных и четко определенных операций. Примеры: сетевые протоколы, сжатие, обработка изображений, строковые утилиты, оценка регулярных выражений, математика и т. Д.
  • Framework: Известно, что это скелет, где приложение определяет содержание операции, заполняя скелет. Примеры фреймворков: система веб-приложений, менеджер плагинов, система графического интерфейса. Каркас только определяет концепцию, но приложение дополнительно определяет функциональность, которая полезна для конечных пользователей.
  • Инверсия управления: когда мы вызываем метод из библиотеки, мы контролируем. Но в фреймворке управление инвертировано, т. Е. Фреймворк зовет нас.

Ссылка:

Эта статья предоставлена Ekta Goel . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Software Framework против библиотеки

0.00 (0%) 0 votes