Как отличить фреймворк от библиотеки функций? - PullRequest
5 голосов
/ 30 сентября 2010

Существует ли определение «фреймворка», которое можно было бы использовать, чтобы отличить фреймворк от набора служебных функций и / или библиотек?

Где начинается один конец, а другой начинается, или граница между ними размыта?

Ответы [ 3 ]

4 голосов
/ 30 сентября 2010

Библиотека - это то, что ваша программа использует, ваша программа вызывает код библиотеки.Фреймворк - это то, для чего вы пишете код, а фреймворк вызывает ваш код.Например, в веб-приложении MVC вы пишете контроллеры для него, эти контроллеры создаются и вызываются платформой, за которую отвечает фреймворк.

Spring - это пример инфраструктуры, которая также включает библиотеки (например, spring-jdbc).

1 голос
/ 30 сентября 2010

Строка очень размытая, ИМО, и слово каркас часто сводится к маркетинговому термину. Например, .Net Framework предоставляет как набор библиотек (например, код, который вы можете вызвать, в ответе Натана Хьюза), так и нечто, для чего вы пишете код, который вызывает ваш код.

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

0 голосов
/ 30 сентября 2010

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

...