php设计模式之桥接模式实例代码
<?php
header("Content-type:text/html;charset=utf-8"); abstract class msg{
protected $send = null;
public function __construct($send){
$this->send = $send;
}
abstract function msg($content); function send($to, $content){
$content = $this->msg($content);
$this->send->send($to, $content);
}
} /**
* 普通信
*/
class ZnMsg
{
public function send($to, $content)
{
echo "给".$to."发送站内信:<br>".$content;
}
} /**
* email信
*/
class EmailMsg
{
public function send($to, $content)
{
echo "给".$to."发送Email:<br>".$content;
}
} /**
* sms信
*/
class SmsMsg
{
public function send($to, $content)
{
echo "给".$to."发送短信:<br>".$content;
}
} // 内容分为普通,加急,特急三种程度 /**
* 普通
*/
class CommonInfo extends msg
{ public function msg($content)
{
return "普通:".$content."<br>";
}
} /**
* 加急
*/
class WarnInfo extends msg
{ public function msg($content)
{
return "加急:".$content."<br>";
}
} /**
* 特急
*/
class DangerInfo extends msg
{ public function msg($content)
{
return "特急:".$content."<br>";
}
} $DangerInfo = new DangerInfo(new EmailMsg());
$DangerInfo->send('小小','不要再去参加极限运动了'); $WarnInfo = new WarnInfo(new EmailMsg());
$WarnInfo->send('毛毛','马上过来办公室开会!');
php设计模式之桥接模式实例代码的更多相关文章
- 设计模式:桥接模式及代码示例、桥接模式在jdbc中的体现、注意事项
0.背景 加入一个手机分为多种款式,不同款式分为不同品牌.这些详细分类下分别进行操作. 如果传统做法,需要将手机,分为不同的子类,再继续分,基本属于一个庞大的多叉树,然后每个叶子节点进行相同名称.但是 ...
- php设计模式之策略模式实例代码
html <html> <head> <meta charset="UTF-8"> <title>简单计算器</title&g ...
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
原文:乐在其中设计模式(C#) - 桥接模式(Bridge Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern) 作者:webabcd 介绍 ...
- java面试题之----jdbc中使用的设计模式(桥接模式)
1.JDBC(JavaDatabase Connectivity) JDBC是以统一方式访问数据库的API. 它提供了独立于平台的数据库访问,也就是说,有了JDBC API,我们就不必为访问Oracl ...
- php设计模式之桥接模式
php设计模式之桥接模式 一.概述 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果. 其实就是讲不相关的东西通过类(本例中是SendInfo)结合在一起,从而 ...
- java设计模式7——桥接模式
java设计模式7--桥接模式 1.桥接模式介绍 桥接模式是将抽象部分与它的实现部分分离,使他们都可以独立的变化.它是一种对象结构型模式,又称为柄体模式或接口模式. 2.解决问题 2.1.将复杂的组合 ...
- java 桥接模式实现代码
写在前面 桥接模式:将抽象与实现分离,使它们可以独立变化.它是用组合/聚合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度. 使用场景1:要绘制矩形.圆形.椭圆.正方形,绘制的图形需 ...
- 【设计模式】桥接模式 Bridge Pattern
开篇还是引用吕振宇老师的那篇经典的文章<设计模式随笔-蜡笔与毛笔的故事>.这个真是太经典了,没有比这个例子能更好的阐明桥接模式了,这里我就直接盗来用了. 现在市面上卖的蜡笔很多,各种型号, ...
- 一天一个设计模式——Bridge桥接模式
一.概念准备 在理解桥接模式之前,先要理解面向对象程序设计中的两个概念: 类的功能层次结构:假设现在有一个类Something,这个类有一些成员属性和成员方法,但是现有的功能不能满足要求,因此我们想扩 ...
随机推荐
- Python 实现选择排序
选择排序算法步骤: 找到数组中最小的那个元素中, 将它和数组的第一个元素交换位置, 在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置, 如此往复,知道将整个数组排序. 逐步分析: 假设一个 ...
- 图片-定义select向下箭头样式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- jQuery---链式编程
链式编程 设置性操作:可以链式编程 获取性操作,不能链式,因为获取性操作,数值,字符串,返回值是不是一个jq对象. $(function () { //设置性操作:可以链式编程 //获取性操作,不 ...
- 剑指offer-面试题57_2-和为s的连续正数序列-穷举法
/* 题目: 输入一个整数s,输出所有和为s的连续整数序列. */ /* 思路: 穷举法. */ #include<iostream> #include<cstring> #i ...
- Wilson's Theorem
ProofsSuppose first that $p$ is composite. Then $p$ has a factor $d > 1$ that is less than or equ ...
- 一键安装最新内核并开启 BBR 脚本
最近,Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法.根据以往的传统,Google 总是先在自家的生产环境上线运 ...
- Python学习笔记一:变量、函数
变量.函数是Python语言的最基本单元,下面是我作为初学者的当前理解,随着学习的深入今后会做刷新. 变量:表示操作对象是谁. 变量的方法:表示能做什么事情. 如何设计变量:先分析需要解决的问题,基于 ...
- ng-做一个简单的通讯录--学习使用路由和HTTP
app.module import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@ang ...
- 使用Python爬虫整理小说网资源-自学
第一次接触python,原本C语言的习惯使得我还不是很适应python的语法风格.希望读者能够给出建议. 相关的入门指导来自以下的网址:https://blog.csdn.net/c406495762 ...
- appium 爬取微信的相册内容(不知什么时候能写完)
# crowl wechat through appium from appium import webdriver from selenium.webdriver.support.ui import ...