61条面向对象设计的经验原则
【程序编程相关:为什么用ROUND四舍五入总是无法得到正】 【推荐阅读:如何更改表的字段名?】(1)所有数据都应该隐藏在所在的类的内部. 【扩展信息:我是否可以将Excel数据导入?】
“你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚.但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起.” ----------arthur j.riel
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝与浅拷贝).相等性判断.正确输出内容.从ascii描述解析等等]. (5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中.如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数.
(6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口. (7)类之间应该零耦合,或者只有导出耦合关系.也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作. (8)类应该只表示一个关键抽象. 包中的所有类对于同一类性质的变化应该是共同封闭的.一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响 . (9)把相关的数据与行为集中放置. 设计者应当留意那些通过get之类操作从别的对象中获取数据的对象.这种类型的行为暗示着这条经验原则被违反了. (10)把不相关的信息放在另一个类中(也即:互不沟通的行为). 朝着稳定的方向进行依赖. (11)确保你为之建模的抽象概念是类,而不只是对象扮演的角色. ... 下一页