类应该只暴露和这个类的目的几乎完全一致的接口。但是这个类对象的数据可能需要检验 或 需要和别的东西交换数据。比如从数据库获得数据,写入数据库等操作。怎样才能在不破坏类抽象的情况下处理这些问题?
比如代码大全2.p138中描述的一个设计有缺陷的类:
[code="java"]class Emploryee {
public:
...
FullName GetName() const;
PhoneNumber GetWorkPhone() const;
bool IsZipCodeValid(Address address);
SqlQuery GetQueryToCreateNewEmployee();
private:
...
}[/code]