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
分享到:
相关推荐
其次,ThinkPHP5是中国流行的PHP框架,它提供了丰富的MVC(Model-View-Controller)模式支持,简化了数据库操作、路由处理、模板引擎等功能。在后台权限管理系统中,ThinkPHP5主要负责处理业务逻辑、数据存储和用户...
Laravel是一款基于PHP的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提供优雅而简洁的工具,帮助开发者快速构建功能丰富的、高质量的Web应用程序。Laravel Template是Laravel框架中的一个...
【Laravel开发-lara-mvcms-template】是一个基于 Laravel 框架的多视图内容管理系统模板。这个项目旨在提供一个快速启动的解决方案,帮助开发者构建功能丰富的网站或应用程序。Laravel 是一个流行的 PHP 框架,以其...
模板模式(Template Pattern)是行为设计模式的一种,属于GOF(Gang of Four)设计模式中的结构型模式。这种模式主要用于定义算法的骨架,它将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的...
综上所述,"Laravel开发-admin-lte-template-laravel" 是关于如何在 Laravel 项目中集成并利用 AdminLTE 模板构建后台管理系统的实践。这个过程涉及到 Laravel 的基本功能和 AdminLTE 的应用,对于提升开发效率和...
DPT(Data-Php-Template)设计模式是一种针对PHP的架构模式,旨在解决PHP在处理大型应用时所面临的挑战,如不完善的面向对象机制和单一的数据库处理方式。DPT模式借鉴了MVC(模型-视图-控制器)模式,并在此基础上...
PHP-MVC-starter-template 是一个基于PHP的MVC(Model-View-Controller)模式的入门模板,适用于快速构建Web应用。MVC是一种流行的设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离,提高了代码的可维护性...
Laravel遵循MVC(Model-View-Controller)设计模式,它强调代码结构清晰,业务逻辑与展示层分离。通过路由、控制器和视图,我们可以轻松地创建动态、交互性强的网页应用。 SleepingOwl Admin LTE模板则是Laravel的...
- 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 - 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变元素的类的前提下定义作用...
"startuml PHP 5 Code Generator Template" 是一个专门针对PHP 5编程语言设计的代码生成模板,其核心功能是自动生成PHP 5类的结构。在这个项目中,我们可以探讨以下几个关键知识点: 1. **StartUML**: StartUML 是...
Laravel-Admin-Template是一个基于Laravel框架的后台管理界面模板,旨在为开发者提供一个快速构建高效、美观的管理后台的起点。它利用了现代前端技术,如HTML5、CSS3和JavaScript,以及PHP7的强大性能,结合了...
它采用MVC(模型-视图-控制器)架构模式,提供了丰富的库和工具,如Eloquent ORM、Artisan命令行工具、路由系统、中间件、队列处理等,大大提高了开发效率和代码质量。 ### 2. RESTful API 设计原则 REST...
而PHPNow Template Engine则是PHPNow中的一个重要组件,它是一个PHP模板引擎,旨在分离应用程序逻辑和视图层,提高代码的可读性和可维护性。 PHP模板引擎的核心思想是将HTML代码与PHP代码分离,让设计师专注于页面...
"Laravel开发-template-1 移动生态系统框架模板1"这个标题暗示我们正在探讨一个专门为Laravel项目设计的模板,这个模板可能是为了加速移动生态系统的开发流程。 Laravel框架的核心特性包括路由、控制器、模型、视图...
【Laravel 开发 - Lara MVCMS 模板】 在IT行业中,Laravel是一个非常流行的开源PHP框架,专为构建优雅的Web应用而设计。Lara MVCMS(Laravel的MVC内容管理系统)模板则是在此基础上构建的一个通用内容管理系统的...
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...
在`php-mvc-template`项目中,我们可以深入理解这一模式在PHP中的实现。 ### Model(模型) 模型是应用程序的核心部分,负责处理业务逻辑和数据操作。在PHP MVC框架中,模型通常与数据库交互,执行查询、更新、删除...
Java设计模式模板方法(Template)原理解析 Java设计模式模板方法(Template)是一种行为型设计模式,它定义了一个多步凑的算法骨架,其中一些步凑是在父类中实现的,而其他一些步凑则是根据不同的子类拥有不同的...