这篇文章介绍的内容是关于php设计模式之 桥接模式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
桥接模式(Bridge)是一种对象结构型模式,将抽象部分与实现部分分离,使它们都可以独立地变化。
总结来说就是在多维度上,各自变化互不影响,通过桥接建立一定关联,进行动态组合, 这种模式的灵活性比较高。
就类似我们去吃盖浇饭里面配各种菜一样,例如青椒肉丝盖浇饭,土豆牛肉盖浇饭。
主食:饭,面。
辅食:青椒肉丝,土豆牛肉。
主食,辅食两个不同的维度,各自可以继续添加种类,例如:辅食可以再添加一个韭菜鸡蛋等,又可以相互组合。
记录代码如下:
/** 抽象一个主食类
* abstract Food
*/
abstract Class Food
{
public $dishes; // 一开始会赋值对象
abstract function MakeFood();
}
/** 盖浇饭类 继承主食类
* Rice
*/
Class Rice extends Food
{
function MakeFood()
{
$this->dishes->MakeDishes();
echo "盖浇饭<br/>";
}
}
/** 盖浇面类 继承主食类
* Noodle
*/
Class Noodle extends Food
{
function MakeFood()
{
$this->dishes->MakeDishes();
echo "盖浇面<br/>";
}
}
/** 菜肴接口
* interface Dishes
*/
interface Dishes
{
function MakeDishes();
}
/** 青椒肉丝类 继承菜肴接口
* QJRS
*/
Class QJRS implements Dishes
{
function MakeDishes(){
echo "青椒肉丝";
}
}
/** 土豆牛肉类 继承菜肴接口
* TDNR
*/
Class TDNR implements Dishes
{
function MakeDishes(){
echo "土豆牛肉";
}
}<?php
// 桥接模式 index.php
header("Content-Type:text/html;charset=utf-8");
require_once "Bridge.php";
// 要一份盖浇饭
$rice = new Rice();
// 浇头要 青椒肉丝
$rice->dishes = new QJRS();
// 上菜
$rice->MakeFood();
// 同样的要一份盖浇饭
$rice = new Rice();
// 这次改了浇头要 土豆牛肉
$rice->dishes = new TDNR();
// 上菜
$rice->MakeFood();输出结果:
启科网络商城系统由启科网络技术开发团队完全自主开发,使用国内最流行高效的PHP程序语言,并用小巧的MySql作为数据库服务器,并且使用Smarty引擎来分离网站程序与前端设计代码,让建立的网站可以自由制作个性化的页面。 系统使用标签作为数据调用格式,网站前台开发人员只要简单学习系统标签功能和使用方法,将标签设置在制作的HTML模板中进行对网站数据、内容、信息等的调用,即可建设出美观、个性的网站。
0
青椒肉丝盖浇饭
土豆牛肉盖浇饭
相关推荐:
以上就是PHP设计模式之 桥接模式的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号