`
OrangeHolic
  • 浏览: 260748 次
  • 来自: 北京
社区版块
存档分类
最新评论

PHP-模板(template)模式

阅读更多
1.定义:定义一个操作的算法的框架,将一些步骤的实现推迟到子类.
其实意思就是操作的算法的骨架不变,即规定好了第一步应该干什么,第二步干什么,再次干什么,但是不规定具体内容.
2.图示

AbstractClass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。
ConcreteClass(具体类):实现父类中的抽象方法以完成算法中与特定子类相关的步骤


在此那超市购物为例子,如某A购物非常有规律,他一般先去书籍区转转,然后再去蔬菜瓜果区看看,再去服装鞋帽区逛逛,最后去家电数码区(这就相当与AbstractClass) 
话说上周六A去了一次超市
先到了书籍区,看到莫言的小说,感到应该随随大众,买了一本<<丰乳肥臀>>,立刻感到成了文艺青年,和周围人不一样了;
后去了蔬菜瓜果区,看到了最喜欢的橘子。。。。。;
然后到了服装鞋帽区,试了试阿迪王的最新款,买了;
到了家电数码区,看中了某款手机手机,没有钱买。
(这就相当与ConcreteClass)


惯例上代码:
1.抽象类
abstract class AbstractClass{
    public function trip(){
        $this->bookTrip();
        $this->vegetablesTrip();
        $this->shoesTrip();
        $this->digitalTrip();
    }
    abstract protected function bookTrip();
    abstract protected function vegetablesTrip();
    abstract protected function shoesTrip();
    abstract protected function digitalTrip();
}

2.具体类
class ConcreteClass extends AbstractClass{
    protected function bookTrip(){
        echo "买<<丰乳肥臀>>\n";
    }
    protected function vegetablesTrip(){
        echo "买10个橘子\n";
    }
    protected function shoesTrip(){
        echo "买阿迪王\n";
    }
    protected function digitalTrip(){
        echo "没钱没手机\n";
    }

}

3.client
$instance=new ConcreteClass();
$instance->trip();


最后模板模式的本质就是固定算法骨架
  • 大小: 43.4 KB
分享到:
评论

相关推荐

    管理系统系列--基于vue-admin-template 开发的后台权限管理系统 结合thinkphp5 权限管理 .zip

    其次,ThinkPHP5是中国流行的PHP框架,它提供了丰富的MVC(Model-View-Controller)模式支持,简化了数据库操作、路由处理、模板引擎等功能。在后台权限管理系统中,ThinkPHP5主要负责处理业务逻辑、数据存储和用户...

    Laravel开发-laravel-template

    Laravel是一款基于PHP的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提供优雅而简洁的工具,帮助开发者快速构建功能丰富的、高质量的Web应用程序。Laravel Template是Laravel框架中的一个...

    Laravel开发-lara-mvcms-template

    【Laravel开发-lara-mvcms-template】是一个基于 Laravel 框架的多视图内容管理系统模板。这个项目旨在提供一个快速启动的解决方案,帮助开发者构建功能丰富的网站或应用程序。Laravel 是一个流行的 PHP 框架,以其...

    php设计模式 Template (模板模式)

    模板模式(Template Pattern)是行为设计模式的一种,属于GOF(Gang of Four)设计模式中的结构型模式。这种模式主要用于定义算法的骨架,它将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的...

    Laravel开发-admin-lte-template-laravel

    综上所述,"Laravel开发-admin-lte-template-laravel" 是关于如何在 Laravel 项目中集成并利用 AdminLTE 模板构建后台管理系统的实践。这个过程涉及到 Laravel 的基本功能和 AdminLTE 的应用,对于提升开发效率和...

    DPT-一种PHP设计模式.docx

    DPT(Data-Php-Template)设计模式是一种针对PHP的架构模式,旨在解决PHP在处理大型应用时所面临的挑战,如不完善的面向对象机制和单一的数据库处理方式。DPT模式借鉴了MVC(模型-视图-控制器)模式,并在此基础上...

    PHP-MVC-starter-template:这是使用MVC使用PHP启动项目的模板

    PHP-MVC-starter-template 是一个基于PHP的MVC(Model-View-Controller)模式的入门模板,适用于快速构建Web应用。MVC是一种流行的设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离,提高了代码的可维护性...

    Laravel开发-sleeping-owl-admin-lte-template

    Laravel遵循MVC(Model-View-Controller)设计模式,它强调代码结构清晰,业务逻辑与展示层分离。通过路由、控制器和视图,我们可以轻松地创建动态、交互性强的网页应用。 SleepingOwl Admin LTE模板则是Laravel的...

    PHP设计模式的使用-php_design_patterns.zip

    - 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 - 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变元素的类的前提下定义作用...

    startuml PHP 5 Code Generator Template

    "startuml PHP 5 Code Generator Template" 是一个专门针对PHP 5编程语言设计的代码生成模板,其核心功能是自动生成PHP 5类的结构。在这个项目中,我们可以探讨以下几个关键知识点: 1. **StartUML**: StartUML 是...

    Laravel-Admin-Template

    Laravel-Admin-Template是一个基于Laravel框架的后台管理界面模板,旨在为开发者提供一个快速构建高效、美观的管理后台的起点。它利用了现代前端技术,如HTML5、CSS3和JavaScript,以及PHP7的强大性能,结合了...

    Laravel开发-laravel-api-template

    它采用MVC(模型-视图-控制器)架构模式,提供了丰富的库和工具,如Eloquent ORM、Artisan命令行工具、路由系统、中间件、队列处理等,大大提高了开发效率和代码质量。 ### 2. RESTful API 设计原则 REST...

    PHP实例开发源码—PHPnow template engine PHP模板引擎.zip

    而PHPNow Template Engine则是PHPNow中的一个重要组件,它是一个PHP模板引擎,旨在分离应用程序逻辑和视图层,提高代码的可读性和可维护性。 PHP模板引擎的核心思想是将HTML代码与PHP代码分离,让设计师专注于页面...

    Laravel开发-template-1

    "Laravel开发-template-1 移动生态系统框架模板1"这个标题暗示我们正在探讨一个专门为Laravel项目设计的模板,这个模板可能是为了加速移动生态系统的开发流程。 Laravel框架的核心特性包括路由、控制器、模型、视图...

    Laravel开发-lara-mvcms-template .zip

    【Laravel 开发 - Lara MVCMS 模板】 在IT行业中,Laravel是一个非常流行的开源PHP框架,专为构建优雅的Web应用而设计。Lara MVCMS(Laravel的MVC内容管理系统)模板则是在此基础上构建的一个通用内容管理系统的...

    基于springboot+vue开发的后台管理系统模板springboot-vue-template.zip

    该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...

    php-mvc-template

    在`php-mvc-template`项目中,我们可以深入理解这一模式在PHP中的实现。 ### Model(模型) 模型是应用程序的核心部分,负责处理业务逻辑和数据操作。在PHP MVC框架中,模型通常与数据库交互,执行查询、更新、删除...

    Java设计模式模板方法(Template)原理解析

    Java设计模式模板方法(Template)原理解析 Java设计模式模板方法(Template)是一种行为型设计模式,它定义了一个多步凑的算法骨架,其中一些步凑是在父类中实现的,而其他一些步凑则是根据不同的子类拥有不同的...

Global site tag (gtag.js) - Google Analytics