详解代理模式:女朋友这么漂亮,你缺经纪人吗?

一 摘要

晚上看了关于代理模式的一篇文章,写的非常生动,来过来分享给大家.这里我就PHP代理模式给大家进行详细说明.下面我们来看一看

这几天王宝强妻子出轨经纪人事件惹尽了眼球,“你缺经纪人吗” 一下子成为打招呼必备热词。在紧跟“潮流”之前我们有必要了解下,经纪人都负责为宝强做哪些事呢?

1. 为宝强安排档期
2. 为宝强做公关
3. 为宝强照顾老婆

从上面可以发现,宝强几乎被架空了,陷入了一场圈套之中啦.这里还是借用别人画的一个图.

下面我们来看一下用UML类图具体实现.

上面图我们可以看出,star类与Agent类都是集成与公共接口类,并实现接口定义的方法.

下面我们来看一看代码的具体实现.

第一步:建一个公共接口

 interface  ICareWife{
     //照顾老婆
    function LoveWife();
     //参加节目
    function attendSHow();
     //存款放我这
    function takeCareMoney();
}

第二步:建一个Stat类集成与公共接口类并实现方法.

//明星类继承与公共接口
class star implements ICareWife{
 private  $girlName;
 function __construct($name=‘girl‘)
 {
     $this->girlName = $name;
 }
   function  LoveWife()
   {
       // TODO: Implement LoveWife() method.
       echo "你的老婆由我{$this->girlName}照顾,你安心参加演出吧<hr>";
   }
function attendSHow()
{
    // TODO: Implement attendSHow() method.
    echo "{$this->girlName}.参加演出<hr>";
}
function takeCareMoney()
{
    // TODO: Implement takeCareMoney() method.
    echo "{$this->girlName}的钱也由我来保管<hr>";

}
}

第三步:建一个Agent类集成与公共接口类并实现方法.

/*
 * 经纪人
 */

class Agent implements ICareWife{
   private $mStart;

    //经纪人可以代表明星去做一些决定,如帮忙照看老婆 啊 哈哈......
    function __construct($names=‘nihao‘)
    {
        $this->mStart = new star($names);
    }
public function LoveWife()
{
    // TODO: Implement LoveWife() method.
    $this->mStart->LoveWife();

}
    public function attendSHow()
    {
        // TODO: Implement LoveWife() method.
        $this->mStart->attendSHow();

    }
    public function takeCareMoney()
    {
        // TODO: Implement LoveWife() method.
        $this->mStart->takeCareMoney();

    }

}

第四步 运行结果

echo"运行结果:<hr/>";
$star = new star("王宝强");
$agent = new Agent("宋喆");
$star->attendSHow();
$agent->LoveWife();
$star->takeCareMoney();

运行结果

结束

PHP的代理模式就说完了,不知道大家理解没有.没理解的再看看.

时间: 2024-12-05 05:42:52

详解代理模式:女朋友这么漂亮,你缺经纪人吗?的相关文章

java设计模式详解:代理模式

代理模式就是用一个第三者的身份去完成工作,其实际意义跟字面意思其实是一样的,理解方式有很多,还是例子直观. 本例的实现类是实现买票功能,实际应用想要添加身份验证功能,利用代理模式添加验证步骤.上例子: package com.learn.proxy.proxyModel; /** * 初始功能接口,买票 * @author garfield * */ public interface Tickets { public abstract void buy(); } package com.lear

详解大端模式和小端模式

详解大端模式和小端模式 原文地址:http://blog.csdn.net/ce123_zhouwei/article/details/6971544 一.大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的<格利佛游记>:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战.战争的原因:大家都知道,吃鸡蛋的时候,原始 的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,

.net的session详解 存储模式 存到数据库中 使用范围与大小限制 生命周期

Session又称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息.举个例子来说,我们可以把已登录用户的用户名放在Session中,这样就能通过判断Session中的某个Key来判断用户是否登录,如果登录的话用户名又是多少. 我们知 道,Session对于每一个客户端(或者说浏览器实例)是"人手一份",用户首次与Web服务器建 立连接的时候,服务器会给用户分发一个 SessionID作为标识.SessionID是一个由24个字符组成的随机字符串.用户每次提

详解大端模式和小端模式(转载)

详解大端模式和小端模式 转载自:http://blog.csdn.net/ce123_zhouwei/article/details/6971544 一.大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的<格利佛游记>:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战.战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下

详解懒汉模式和饿汉模式以及他们的改进

提到单例模式的话相信很多人都不会陌生,一般初级程序员也知道懒汉模式和饿汉模式. 那么什么是单例模式呢?我个人低的理解就是当用这个类的对象的时候就只能创建同一个对象.是你,是你,还是你! 而在单例模式中又经常是懒汉和恶汉式进行加载.并没有痴汉也没有电车...我什么都不知道. 什么是饿汉模式呢?很饥饿,你想想,当人很饥饿时候是不是就有什么吃什么,那就是这个道理,所以就已加载类就创建对象.就好像当刚建好一个房子.主人就 搬了进去也不等装修. 那么她的代码是怎么实现的呢? 这就是饿汉模式.但是这个有一个

详解大端模式和小端模式(转)

一.大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的<格利佛游记>:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战.战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重罚.然后老百姓对此法令极为反感,期间发生了多次叛乱,其中一个皇帝因此送命,另一个丢了

设计者模式详解--建造者模式

1. 概述 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式. 2. 建造者模式中的角色 2.1 建造者(Builder):为创建一个产品对象的各个部件指定抽象接口. 2.2 具体建造者(ConcreteBuilder):实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并 提供一个检索产品的接口. 2.3 指挥者(Director):指挥并构造一个使用Builder接口的对象. 2.4 产品(Product):

Android activity四大启动模式详解

Activity中四大启动模式 在AndroidManifest.xml中 ,有一个默认的activity  在它里面可以设置activity启动模式,  android:launchMode=""  ,该属性用于配置Activity的加载模式,该属性支持4中属性  每不同的模式出现不同的效果,下面详解启动模式. standard:标准模式,默认加载模式 singleTop:Task顶单例模式 singleTask:Task内单例模式 singleInstance:全局单单例模式 1

haproxy详解

HAProxy 使用C语言编写的开放源代码软件,提供高可用性.负载均衡,以及基于TCP(4层)和HTTP(7层)的应用程序代理: 借助HAProxy可以快速并可靠的提供基于TCP和HTTP应用的代理解决方案,并支持虚拟主机: HAProxy实现了一种时间驱动,单一进程模型,此模型支持非常大的链接数: HAProxy支持拒绝连接:维护连接开销低,可以限制攻击蠕虫(attack bots),该功能拯救了很多被DDos攻击的小型站点: HAProxy支持全透明代理(具备防火墙的典型特点):可以用客户端