java开发的第十二个博客(设计模式)

1.设计模式的概念

  • 设计模式:是前辈们对代码开发经验的总结,是解决特定问题的套路,这不是语法规定,而是一套提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
  • 1995年GOF四人组出书,书内收录了23种设计模式

2.OOP七大原则

  • 开闭原则:对扩展开发,对修改关闭
  • 里式替换原则:继承必须确保超类所拥有的性质在子类中仍然成立
  • 依赖倒置原则:要面向接口变成,不要面向实现编程
  • 单一职责原则:控制类的粒度大小,将对象解耦,提高内聚性
  • 接口隔离原则:要为各个类建立它们需要的专用接口
  • 迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话
  • 合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现

3.模板方法设计模式

定义一个抽象父类,其内部有不可重写的普通方法,这个方法会调用到抽象父类的抽象方法,有抽象父类的子类来重写该方法,去实现具体的逻辑
示例:

public class demo {
     public static void main(String[] args) {
     
    San s = new San();
    s.getTime();//采取就近原则(该方法已经用final修饰,子类不可重写)
}
}
abstract class GetTime{
     
    public final void getTime(){
     
        long start = System.currentTimeMillis();//框架
        code();//调用父类的抽象方法
        long end = System.currentTimeMillis();//框架
        System.out.println(end - start);//框架
    }
    public abstract void code();
    //子类必须重写这个抽象方法
}
class San extends GetTime{
     
    @Override
    //子类重写抽象方法
    public void code() {
     
    	//父类普通方法具体逻辑
        for (int i = 0; i < 10000; i++) {
     
            System.out.println("hello");
        }
    }
}
  • 将功能放在类的普通方法中,普通方法内有方法的框架和抽象的方法,同时为了保证父类普通方法(框架)不被重写,所以用final修饰,而抽象方法的内容由子类决定,因为子类在继承抽象父类之后必须重写这个抽象方法。
  • 使用过程:创建子类对象后调用GetTime方法时,因为子类没有所以执行父类,在执行父类方法内的框架时会执行抽象方法,因为子类重写了抽象方法,所以会执行子类的方法,从而灵活实现功能。

后续…

你可能感兴趣的:(设计模式,java)