Вопрос по frameworks, javascript, toolkit – В чем основное различие между фреймворком и инструментарием? [закрыто]

19

Позволяет ли инфраструктура абстрагировать обобщенный код - но не полным способом (например, абстрагировать сетевое соединение - но не то, что вы на самом деле делаете с данными), и не решает каких-либо конкретных общих требований, тогда как инструментарий имеет решения для универсального проблемы (например: виджет диалогового окна)?

Пример из реального мира:Прототип это "фреймворк", ношкола дзюдо это "Инструментарий".

Итак, мой вопрос: каковы критерии для того, чтобы называть что-то фреймворком, а не называть это инструментарием?

Ваш Ответ

3   ответа
25

Цитируя Мартина Фолвера в его статье оИнверсия контроля:

Инверсия управления - это ключевая часть того, что отличает фреймворк от библиотеки.Библиотека - это набор функций, которые вы можете вызывать, в эти дни обычно организованы в классы. Каждый вызов выполняет некоторую работу и возвращает управление клиенту.

Фреймворк воплощает в себе какой-то абстрактный дизайн, с большим количеством встроенного поведения. Чтобы использовать его, вам нужновставьте свое поведение в различные места в рамках либо путем создания подклассов, либо путем подключения ваших собственных классов.РамкиЗатем код s вызывает ваш код в этих точках.

Короче говоря, большая разница в том, что ваш код вызывает библиотеку, а фреймворк - ваш код.

12

Framework навязывает разработчикам некоторый шаблон проектирования и предоставляет некоторые инструменты для генерации кода. Это хорошо согласуется с моим первым предложением, поскольку оно генерирует код в определенном стиле / шаблоне.

Библиотека предоставляет вам функциональность, которую вы можете использовать по своему усмотрению. Как и функции stdio C, Консоль C #, "встроенный функции PHP и т. д.

Вы можете рассматривать библиотеку как своего рода API

9

В моей книге структура предоставляет структуру и поощряет или требует, чтобы она использовалась определенным образом. Это может быть хорошо, если разработчик хочет делать вещи в рамках »так какДля многих проще быть автоматическим, но может быть плохо, если разработчик хочет отклониться от фреймворкас намерением

Инструментарий, с другой стороны, предоставляет различные инструменты, которые можно использовать вместе или по отдельности. Это'более гибкий, но требует больше усилий для программистаот имени.

Похожие вопросы