Почему STL считается библиотекой, а JCF - фреймворком? Что именно в их соответствующих конструкциях вызывает / оправдывает это различие? Можете ли вы привести пример кода, который иллюстрирует это?
Определение Мартина Фаулера:
A library - это, по сути, набор функций, которые вы можете вызывать, в наши дни обычно организованные в классы.Каждый вызов выполняет некоторую работу и возвращает управление клиенту. A framework воплощает некоторый абстрактный дизайн со встроенным поведением. Чтобы использовать его, вам необходимо вставить свое поведение в различныеместа в структуре либо путем создания подклассов, либо путем подключения ваших собственных классов.Затем код фреймворка вызывает ваш код в этих точках.
A library - это, по сути, набор функций, которые вы можете вызывать, в наши дни обычно организованные в классы.Каждый вызов выполняет некоторую работу и возвращает управление клиенту.
A framework воплощает некоторый абстрактный дизайн со встроенным поведением. Чтобы использовать его, вам необходимо вставить свое поведение в различныеместа в структуре либо путем создания подклассов, либо путем подключения ваших собственных классов.Затем код фреймворка вызывает ваш код в этих точках.
Дополнительную информацию вы можете найти здесь: В чем разница между фреймворком и библиотекой?