这段时间在看Arthur J.Riel的《Object-Oriented Design Heuristics》,于是参考总结了如下的几条面向对象设计原则:
- 所有数据都应隐藏在它所在类的内部。
- 类的使用者必须依赖类的公有接口,但类不能依赖它的使用者。
- 尽量减少类的协议中的消息。
- 实现所有类都理解的最基本的公有接口,如拷贝操作,相等判断,正确输入内容等。
- 不要把实现细节放在类的公有接口中。
- 不要以用户无法使用或不感兴趣的东西扰乱类的公共接口。
- 类之间应该零耦合,或者只有导出耦合关系。也就是说,一个类要以同另一个类毫不关系,要么只使用另一个类的公有接口中的操作。
- 类应当只表示一个关键抽象。
- 把相关的数据和行为集中放置。
- 把不相关的信息放在另一个类中。
- 确保你为之建模的抽象概念是类,而不是对象扮演的角色。