Java设计所遵循的准则
1 类的关系
1.1一般关系
主要是体现类的继承和实现
1.2关联关系
类之间是平级关系
1.3聚合关系
整体和部分的关系
1.4合成关系
比聚合关系强,整体对部分对象负责,掌管生命周期
1.5依赖关系
依赖总是单向的,关联可以是双向的,依赖的一方的属性不为被依赖的类。
2 抽象类设计原则
一个设计者应力图遵循这些原则
- 具体类不是用来继承的
- 抽象类应该有尽可能多的共同代码
- 抽象类应该尽可能有少量的数据
3 继承的使用原则
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();
}
}