c++ - 此 C++ 实现模式的名称

标签 c++ class design-patterns iostream

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/

相关文章:

c++ - 指向失去值(value)的对象的 vector 的指针

ruby-on-rails-3 - Rails Devise gem - 通过将默认用户模型拆分到其他模型来自定义它

objective-c - 单例上的多个类方法以避免子类?

c++ - 是否有可能写入传递给函数的输入缓冲区超出预期? (没有堆栈溢出)

java - 推荐的人脸识别开源库有哪些?

c++ - 如何解析要在 C++ 中阻止的文件

未在此范围内声明的 C++ 模板成员函数

javascript - 你如何在 JavaScript 中创建类?

node.js - 从 Node.js 中的另一个自定义模块访问自定义模块的正确路径表示法

php - 为什么单例在 PHP 环境下这么糟糕?