1、开闭原则
属性
方法
}
public class Student2 extends Student{
新的属性
新的方法
}
//反射
Class c = Class.forName(从配置文件中读取);
概念:对扩展开发,对修改关闭。
在程序的需求发生变化的时候,不能去修改源代码,而是去扩展新的功能模块,实现热插拔的效果。
2、里氏代换原则
FileInputStream fs = new FileInputStream();
InputStream is = new FileInputStream();
void method(InputStream is){
}
3、依赖导转原则
概念:尽量的依赖抽象类和接口,而不是具体的实现类。
抽象类和接口对子类具有强制性和规范性。
4、接口隔离原则
概念:使用多个隔离的接口,比使用单个接口要好。
尽量的依赖小接口而不是大接口。
public interface IShine{
public void shine();
}
public interface IFly{
public void fly();
}
一个实体尽量的少与其他的实体类之间发生相互的作用,使得系统功能相对的独立。
达到高内聚,低耦合的目的。
耦合:指一个实体和其他实体的关联度。
内聚:值当前实体尽量将本实体中的模块完善。都聚集在本实体的内部。
6、合成复用原则
尽量的使用合成(把一个实体类作为另一个实体类的属性)的方式,而不是使用继承的方式。