《设计模式 - 模板模式》

 

《陈乐一 青鸟》  啥样不说了,又被圈粉了~

 

一:什么是模板模式?

  - 通俗来说,模板模式渗透在了生活的方方面面,在学校填写表格的时候,会下发一样的表格(模板),每个人同时写完,在交上去.....

  - 像上面举得填表格的例子,通过统一的表格(模板),避免了重复填写的劳动,和会产生的错误,了解到这些,我们就大致了解了。

  - 定义:定义操作中的一个算法骨架,而将一些步骤延迟到子类中,模板方法可以不改变一个算法结构即可重新定义该算法的某些特定步骤。

 

二:模板模式的作用及其应用场景?

  - 模板模式通过把不变的行为封装在父类(表格),使得子类(学生)不必要重复的进行,这也就是他最好的优势。

  - 也是体现了面向对象的封装相同的代码不会出现在子类中

 

三:简单实现一个模板模式

<?php
/**
 * 模板模式
 * Tmeplate
 */

// 抽象模板 - 表格
abstract class Template
{
    // 必须 - 填写姓名
    public abstract function OperationName();

    // 必须 - 填写姓名
    public abstract function OperationAge();

    public function execute()
    {
        $this->OperationName();
        $this->OperationAge();
        var_dump('execute');
    }
}

// 具体角色
class xiaoli extends Template
{
    
    public function OperationName()
    {
        var_dump('我的名字是 - 小李');
    }

    public function OperationAge()
    {
        var_dump('我的年龄是 - 26');
    }
}

class xiaowang extends Template
{
    
    public function OperationName()
    {
        var_dump('我的名字是 - 小王');
    }

    public function OperationAge()
    {
        var_dump('我的年龄是 - 36');
    }
}

$xiaoli = new xiaoli();
$xiaoli->execute();
$xiaowang = new xiaowang();
$xiaowang->execute();

 

github

 

posted @ 2018-11-28 15:39  Zzz哈  Views(88)  Comments(0Edit  收藏  举报