Java设计所遵循的准则

1 类的关系

Java设计所遵循的准则

1.1一般关系

主要是体现类的继承和实现
Java设计所遵循的准则

1.2关联关系

类之间是平级关系
Java设计所遵循的准则

1.3聚合关系

整体和部分的关系
Java设计所遵循的准则

1.4合成关系

比聚合关系强,整体对部分对象负责,掌管生命周期
Java设计所遵循的准则

1.5依赖关系

依赖总是单向的,关联可以是双向的,依赖的一方的属性不为被依赖的类。
Java设计所遵循的准则

2 抽象类设计原则

一个设计者应力图遵循这些原则

  1. 具体类不是用来继承的
  2. 抽象类应该有尽可能多的共同代码
  3. 抽象类应该尽可能有少量的数据

Java设计所遵循的准则

3 继承的使用原则

Java设计所遵循的准则

3.1 里氏代换原则 Liskow Substitution Principle

定义——在一个程序A中,类型为T1的对象换成类型为T2的对象,程序P的行为没有发生变化,T2一定是T1的子类型。

Java语言本身就遵循里氏代换原则,不满足里氏代换原则编译会出错。

吐槽:其实就是Java中的多态,只是在模式的设计上叫里氏代换原则,脱离了Java语言,这个原则在设计中依然可以参考使用。

public class Person {
    public static void main(String[] args) {
        speakName(new Son());		// 传子类参数
        speakName(new Father());		// 传父类参数
    }

    public static void speakName(Father person) {			// 反过来的代换不成立
        person.callName();
    }
}