C++ 中有一定的实现模式,我在下面描述,它用于 std::iostream 库和其他类似的库。
有人能记得这个模式的名字吗?
该模式的描述如下:
- 有中央类 IO 用于数据输出或数据转换(例如 std::ostream)。
- 对于定义输出转换的每个应用程序类,“转换器”是全局函数,而不是 IO 的成员函数。这种模式的动机是
(1) IO 设计者希望它“完成”,当添加另一个带有转换器的应用程序类时不需要任何更改,并且
(2) 因为您希望 IO 成为一个小型的可管理类,而不是一个具有 100 个成员和 1000 行代码的类。当 IO 类和众多“用户”类之间需要解耦时,这种模式很常见。
这个模式的名称是什么?
最佳答案
看起来这是 Herb Sutters 的“界面原理”
至少我是从他的一本书中读到的
接口(interface)必须最小化,所有不需要私有(private)数据(为了编译或运行速度)的函数都应该位于外部函数中。
关于c++ - 此 C++ 实现模式的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7098497/