设计模式的3个常用原则

如大家所知,常见的设计模式有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条左右,但目前作者还在学习这三条罢了

更深入更详细的学习请参考:http://www.cnblogs.com/justinw/archive/2006/11/28/574573.html

原文地址:https://www.cnblogs.com/tommy-huang/p/4268154.html