美文网首页设计模式
设计模式-模板模式

设计模式-模板模式

作者: 夜沐下的星雨 | 来源:发表于2020-05-31 19:21 被阅读0次

1.简介

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、行为由父类控制,子类实现。

缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大

2.代码实现

//创建抽象Game类

```

public abstract class Game {

    abstract void initialize();

    abstract void startPlay();

    abstract void endPlay();

    //模板

    public final void play(){

        //初始化游戏

        initialize();

        //开始游戏

        startPlay();

        //结束游戏

        endPlay();

    }

}

```

//创建FootBall 继承Game类

```

public class FootBall extends Game {

    private static final String TAG = "FootBall";

    @Override

    void initialize() {

        Log.d(TAG, "initialize: ");

    }

    @Override

    void startPlay() {

        Log.d(TAG, "startPlay: ");

    }

    @Override

    void endPlay() {

        Log.d(TAG, "endPlay: ");

    }

}

```

//创建Cricket 继承Game类

```

public class Cricket extends Game {

    private static final String TAG = "Cricket";

    @Override

    void initialize() {

        Log.d(TAG, "initialize: ");

    }

    @Override

    void startPlay() {

        Log.d(TAG, "startPlay: ");

    }

    @Override

    void endPlay() {

        Log.d(TAG, "endPlay: ");

    }

}

```

//执行逻辑

```

Game game = new Cricket();

  game.play();

```

相关文章

网友评论

    本文标题:设计模式-模板模式

    本文链接:https://www.haomeiwen.com/subject/gxprzhtx.html