Effective C++的第23条建议:优先使用非成员非友元函数而不是成员函数。
该条目的整个目的在于鼓励封装,以及包装的灵活性和功能扩展性。但我的问题是,当你遵循这个建议时,你会走多远呢?
例如,你可以拥有你的类,私有数据成员,然后采用极简主义方法,只为私有数据成员减少公共函数的访问器和/或更改器。然后,每一个其他函数都可以是非成员函数。
但是,你是否愿意通过到处放置访问器和更改器来增加封装,而可能牺牲代码清晰度?界线在哪里呢?
该条目的整个目的在于鼓励封装,以及包装的灵活性和功能扩展性。但我的问题是,当你遵循这个建议时,你会走多远呢?
例如,你可以拥有你的类,私有数据成员,然后采用极简主义方法,只为私有数据成员减少公共函数的访问器和/或更改器。然后,每一个其他函数都可以是非成员函数。
但是,你是否愿意通过到处放置访问器和更改器来增加封装,而可能牺牲代码清晰度?界线在哪里呢?