如大家所知,常见的设计模式有23种之多,
而这23种设计模式的核心都是根据设计原则来组织代码的,
第一条原则:Identify the aspects of your application that vary and separate them from what stays the same.
(找到系统中变化的部分,将变化的部分同其它稳定的部分隔开。)
eg:继承就是面向对象中代码重用的一种很常用的方法,但继承只适合变化少的部分,
因为继承是无条件全部重用,所以修改了父类,子类也跟着改变,这有时候是我们不想看到的
第二条原则:Program to an interface, not an implementation.
(面向接口编程,而不要面向实现编程。)
eg:这就是应用到面向对象的多态,这样子类就可以代替父类使用,程序的灵活性就更大了
第三条原则:Favor composition over inheritance.
(优先使用对象组合,而非类继承)
eg:和第一点有点关系,因为java是单继承的,而组合更灵活,只需要把类作为成员变量来使用就可以了
实际上原则有6条左右,但目前作者还在学习这三条罢了
更深入更详细的学习请参考: