1.面向对象设计原则
1.单一职责原则:低耦合,高内聚(23种设计模式必须遵循)
2.开闭原则:对修改关闭,对扩展开放(不修改现有代码基础上将扩展性提高)
3.里氏替换原则:任何父类出现的地方都可以用子类代替(反射中可以用到)
4.依赖注入原则:依赖于抽象,不依赖于具体实现
5.接口分离原则:不应该强迫程序依赖它们不需要使用的方法,不应该将所有操作放在一个接口中
6.迪米特原则:一个对象应该对其他对象尽可能少的了解,降低耦合
2. 23种设计模式
创建型模式(对象的创建):简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式
结构性模式(对象的组成):外观模式,适配器模式,代理模式,装饰模式,桥接模式,组合模式,享元模式
行为型模式(对象的行为):模板方法模式,观察者模式,状态模式,职责链模式,命令模式,访问者模式,策略模式,
备忘录模式,迭代器模式,解释器模式
3. 简单工厂模式
1.简单工厂模式(又叫静态工厂方法模式)::有一个具体的工厂类负责创建一些类的实例
优点:各个类的对象创建工作,都是由工厂类完成,不需要当前这个具体的类来创建实例
缺点:有新的类型增加,工厂类的代码就得修改,不利于后期维护
2.简单工厂模式代码体现
public abstract class Animal{
public abstract void eat();
public abstract void sleep();
}
public class AnimalFactory{
private AnimalFactory(){
}
public static Animal createAnimal(Object obj){
if(obj instanceof Cat){
return new Cat() ;
}else if(obj instanceof Dog) {
return new Dog();
}else if(obj instanceof Pig){
return new Pig(