Java STL库与JCF框架

Java STL库与JCF框架,java,c++,collections,stl,terminology,Java,C++,Collections,Stl,Terminology,为什么STL被认为是一个库,而JCF被认为是一个框架?它们各自的设计中到底是什么导致/证明了这种区别?您能给出一个代码示例来说明这一点吗?Martin Fowler的定义: 库本质上是一组可以调用的函数,这些函数 一天通常分为几节课。每个电话都会做一些工作,并且 将控件返回给客户端 框架体现了一些抽象的设计,构建了更多的行为 在里面为了使用它,您需要将您的行为插入到各种 通过子类化或插入 自己上课。然后,框架的代码在以下位置调用您的代码 要点 您可以在此处找到更多讨论: 我认为,对于库,您的代码

为什么STL被认为是一个库,而JCF被认为是一个框架?它们各自的设计中到底是什么导致/证明了这种区别?您能给出一个代码示例来说明这一点吗?

Martin Fowler的定义:

库本质上是一组可以调用的函数,这些函数 一天通常分为几节课。每个电话都会做一些工作,并且 将控件返回给客户端

框架体现了一些抽象的设计,构建了更多的行为 在里面为了使用它,您需要将您的行为插入到各种 通过子类化或插入 自己上课。然后,框架的代码在以下位置调用您的代码 要点

您可以在此处找到更多讨论:

我认为,对于库,您的代码使用库,而对于框架,框架使用您的代码。粗略地对于框架,您的代码必须与框架相适应,它必须适应框架,并且主要限于框架支持的内容。如果我将比较器传递给
std::sort
,STL不是也在使用我的代码吗?我不确定分界线到底在哪里。但这是控制反转程度的问题。使用
std::sort
您只需自定义库函数的特定调用,而使用框架您可以覆盖“Sorter”functor类中的某个comparator函数并创建该类的实例,sort of?Java使用一个简单的
comparator
接口和
compare
方法。将实现该接口的类的对象传递给
集合。。。我真的没有看到任何概念上的区别。我认为“框架”在这里被用作流行词,框架< /> >听起来比库设计得更好,例如从-<代码>……集合框架的最著名的例子是C++标准模板库(STL)。还有Smalltalk的集合层次结构
,所以即使是Oracle也认为STL是一个“集合框架”。你有没有一个例子,JCF调用我的代码,而“等效”的STL例子没有?