23 宁以non-member、non-friend 替换member函数
原因
- member函数可以访问private 成员变量,降低了private 成员的封装性;而non-member、non-friend 函数不会。
- 降低编译依存关系,增加包裹弹性,如下图:
- 增加可扩充性。举个例子,如果某个 WebBrowser 客户决定写些与影像下载相关的便利函数,他只需要在WebBrowserStuff命名空间内建立一个头文件,内含那些函数的声明即可。新函数就像其他旧有的便利函数那样可用且整合为一体。