什么是模板模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GoGleTech/article/details/84854135

什么是模板模式?

模板模式是基于继承的,父类定义一个模板结构,将具体内容延迟到子类去实现。

代码示例

父类

public abstract class A(){
    void step1(){//一样的步骤在父类实现
    	...
    }
    abstract void step2()//不一样的步骤在子类实现
    
    abstract void step3()//不一样的步骤在子类实现
    
    void step4(){//一样的步骤在父类实现
    	...
    }
}

子类:

public class B extend A(){

   @override
    void step2(){//不一样的步骤在子类实现
    ...
    }
    
    @override
    void step3(){//不一样的步骤在子类实现
    ...
    }
	 
}

优缺点

优点:

  • 提高代码复用性
    将相同部分的代码放在抽象的父类中
  • 提高了拓展性
    将不同的代码放入不同的子类中,通过对子类的扩展增加新的行为
  • 实现了反向控制
    通过一个父类调用其子类的操作,通过对子类的扩展增加新的行为,实现了反向控制 & 符合“开闭原则”

缺点
引入了抽象类,每一个不同的实现都需要一个子类来实现,导致类的个数增加,从而增加了系统实现的复杂度。

猜你喜欢

转载自blog.csdn.net/GoGleTech/article/details/84854135