我可以将框架视为 C++ 中的 class 模板吗?
can I think framework as class template in c++?
看了网上的一些帖子,虽然都是用非编码的方式解释的,但我还是觉得不清楚。他们用我们现实生活中的一些例子来解释它。
能否请您用编码方式解释一下?
什么是框架?
我的理解是它非常像 c++ 中的 class 模板。
template <typename T> class Reader {
// code details
}
所以,如果我们想让reader读报纸,我们实例化Reader<NewsPaper>
或Reader<ScaryBook>
我说得对吗?或者这样理解框架有什么问题?
谢谢!
至于我,术语 "framework" 不适合 C/C++ 世界。传统上,这些语言的外部模块被命名为 "libraries" 或 "libs"(此命名用于 *nix 系统以及从 Web 存储库下载它们时)。尽管对这些术语可能有一些不同的解释,但它们通常是关于同一件事的(尤其是对于 C/C++ 应用程序)。
外部库是执行某些功能的一段代码。在处理大型库(例如用于创建、网络、图像处理、多线程等的库)时,程序员必须遵循它提出的一些工作流程。 您可能会认为图书馆是 "black box"。它为您提供界面(规则如何使用它:输入和输出参数、错误代码等)但您不知道里面是什么,通常也不需要它。
根据解决的问题库可能是(或不是)可扩展的。用于读取各种音频格式的库可能无法为新的音频格式创建读取器,但网络库应该提供创建用户定义的网络协议的功能。
模板是一段可变代码。一个 backbone 代码,适合不同的数据类型。它是应用程序设计和性能的强大工具(出于这个原因,它也常用于图书馆)。
看了网上的一些帖子,虽然都是用非编码的方式解释的,但我还是觉得不清楚。他们用我们现实生活中的一些例子来解释它。
能否请您用编码方式解释一下? 什么是框架? 我的理解是它非常像 c++ 中的 class 模板。
template <typename T> class Reader {
// code details
}
所以,如果我们想让reader读报纸,我们实例化Reader<NewsPaper>
或Reader<ScaryBook>
我说得对吗?或者这样理解框架有什么问题?
谢谢!
至于我,术语 "framework" 不适合 C/C++ 世界。传统上,这些语言的外部模块被命名为 "libraries" 或 "libs"(此命名用于 *nix 系统以及从 Web 存储库下载它们时)。尽管对这些术语可能有一些不同的解释,但它们通常是关于同一件事的(尤其是对于 C/C++ 应用程序)。
外部库是执行某些功能的一段代码。在处理大型库(例如用于创建、网络、图像处理、多线程等的库)时,程序员必须遵循它提出的一些工作流程。 您可能会认为图书馆是 "black box"。它为您提供界面(规则如何使用它:输入和输出参数、错误代码等)但您不知道里面是什么,通常也不需要它。
根据解决的问题库可能是(或不是)可扩展的。用于读取各种音频格式的库可能无法为新的音频格式创建读取器,但网络库应该提供创建用户定义的网络协议的功能。
模板是一段可变代码。一个 backbone 代码,适合不同的数据类型。它是应用程序设计和性能的强大工具(出于这个原因,它也常用于图书馆)。