模板模式的定义:
它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现,这样子类才可以不改变算法结构的前提下重新定义改算法的某些特定步骤。
模板模式的核心:
处理的步骤父类中早已定义好,具体的实现延迟到子类中去完成。
模板方法的角色:
1.抽象模板角色:它一般是一个抽象类或者接口,它抽象出操作算法骨架。
2.具体抽象模板角色:它实现了抽象模板角色的方法,它是操作算法骨架业务的具体化。
模板方法的优点:
1.封装不变部分,扩展可变部分。
2.提取了公共代码,便于维护。
3.行为由父类控制,子类实现。
模板方法的缺点:
1.每一个不同的实现都需要一个子类来实现,这样导致类的个数增加。
模板模式的使用场景:
1.实现一个算法时,基本步骤很固定,但是某些部分易变,易变的部分可以抽离出来,由子类实现。
平常我们在面馆是下单,吃面,付钱,在烧烤店,下单,吃烧烤,付钱。在面馆和烧烤店,我们就吃的食物不一样,所以我们下面可以用这个来演示我们的模板模式。
/** * 抽象模板角色 * @author Administrator */ public abstract class Template { public void oreder(){ Log.d("templateTest",