在 Code Complete 的“良好封装”部分,建议隐藏私有实现细节。C++ 中给出了一个示例。这个想法基本上是将接口与实现完全分离,即使在类级别也是如此。
class Employee {
public:
...
Employee( ... );
...
FullName GetName() const;
String GetAddress() const;
private:
EmployeeImplementation *m_implementation;
};
这真的是一种很好的时间利用方式吗?这不仅看起来效率低下(这会带来什么样的性能损失?),而且代码完整(“管理复杂性”)的整个座右铭似乎已经被颠倒了——这不会增加复杂性吗?