Java程序员应当知道的10个面向对象设计原则( 二 )

虽然实际案例是学习设计原则或模式的最佳途径 , 但通过本文的介绍 , 没有接触过这些原则或还在学习阶段的Java程序员也能够了解这10个面向对象的设计原则 。 其实每条原则都需要大量的篇幅才能讲清楚 , 但我会尽力做到言简意赅 。

原则1:DRY(Don't repeat yourself)

即不要写重复的代码 , 而是用\"abstraction\"类来抽象公有的东西 。 如果你需要多次用到一个硬编码值 , 那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块 , 那么可以将它设为一个独立的方法 。 SOLID设计原则的优点是易于维护 , 但要注意 , 不要滥用 , duplicate 不是针对代码 , 而是针对功能 。 这意味着 , 即使用公共代码来验证OrderID和SSN , 二者也不会是相同的 。 使用公共代码来实现两个不同的功能 , 其实就是近似地把这两个功能永远捆绑到了一起 , 如果OrderID改变了其格式 , SSN验证代码也会中断 。 因此要慎用这种组合 , 不要随意捆绑类似但不相关的功能 。

原则2:封装变化

推荐阅读