设计模式之-------代理设计模式

<?php
/**
**代理模式Proxy:
*********/
abstract class Person{
	abstract public function action();
}

class RealPerson extends Person{
	public function action(){
		echo ‘RealPerson‘;
	}
}

class ProxyPerson extends Person{
	private $_realsubject = NULL;

	public function __construct(){

	}

	public function action(){

		$this->_beforeAction();
		if(is_null($_realsubject)){
			$this->_realsubject = new RealPerson();
			$this->_realsubject->action();
		}
		$this->_afterAction();
	}

	public function _beforeAction(){
		echo ‘beforeAction‘;
	}

	public function _afterAction(){
		echo ‘afterAction‘;
	}
}
class Client{
	public static function test(){
		$request =  new  ProxyPerson();
		$request->action();
	}
}
Client::test();
时间: 2024-08-01 21:08:31

设计模式之-------代理设计模式的相关文章

UI开发----target/action设计模式和代理设计模式以及手势识别器

//  Created By 郭仔  2015年04月16日21:50:33 眼睛有点痛,视力也在急速下降,心灵之窗,注意保护! ================================================ 耦合是衡量?一个程序写的好坏的标准之?一, 耦合是衡量模块与模块之间关联程度的指标 "?高内聚,低耦合"是?面向对象编程的核⼼心思想: ================ 设计模式思想很重要的 ================== target/action设计模

【设计模式】代理设计模式

什么是代理设计模式 西门庆想找潘金莲啪啪啪(我淫荡的笑了),潘金莲是女的啊,总不能直接说come on baby吧,那她跟西门庆说,你去找王妈妈吧!王妈妈会安排一切的,此时王媒婆就是潘金莲的代理,西门庆以后想要啪啪啪,直接告诉王媒婆就行了. 程序表现 先定义一个接口 代理者和被代理者都要实现这个接口 public interface Women { //啪啪啪方法 public void papapa(); } 定义潘金莲 public class PanJinLian implements W

设计模式(22)-----代理设计模式-----静态代理

一:用继承实现静态代理 1 package com.DesignPatterns.al.Dynamic1; 2 3 public interface Moveable { 4 public void move(); 5 } package com.DesignPatterns.al.Dynamic1; import java.util.Random; public class Tank implements Moveable { @Override public void move() { Sy

java设计模式之代理设计模式(Proxy)

一个简单Proxy代理模式范例 interface Subject{ //定义核心主题所要完成的功能 public void make(); } class RealSubject implements Subject{ public void make(){ System.out.println("核心主题");//核心主要只需要完成核心步骤,其他步骤交给代理类完成 } } class ProxySubject implements Subject{ private Subject

写一个单态设计模式、一个工厂设计模式、代理设计模式

单态: package TKaoShi; public class DanTaiPerson { private static DanTaiPerson dtp; private String name; private char sex; private DanTaiPerson(){ } private DanTaiPerson(String name,char sex){ this.name=name; this.sex=sex; } public static DanTaiPerson

设计模式(23)-----代理设计模式-----动态代理

一:自己手写动态代理 1.1,把一串静态的字符串(代理类)加载输出,编译,加载到内存,并且反射获取这个对象 public interface Moveable { public void move(); } 1 package com.DesignPatterns.al.Dynamic5; 2 3 import java.util.Random; 4 5 public class Tank implements Moveable { 6 7 @Override 8 public void mov

2016.01.13 代理设计模式

这几天都在用代码的形式在完成滑动解锁的功能,今天讲到了代理设计模式. ?代理设计模式 首先,设计模式是什么:一种完成特定功能的方式. 类别Category:给已有的类添加方法. 代理Delegate:1.配置 2.两个对象之间传递数据A(B) B-->A(A完成B的方法,但是B要将结果回调给A) 所有的设计模式都有一个固定的规范,所以代理设计模式也不例外: UnlockModel(功能类): 1.写一套代理(协议) 代理的方法就是回调的方式 @property TextSettingDelega

ios代理设计模式

代理设计模式的作用:     1.A对象监听B对象的一些行为,A成为B的代理     2.B对象想告诉A对象一些事情,A成为B的代理   代理设计模式的总结:     如果你想监听别人的一些行为,那么你就要成为别人的代理     如果你想告诉别人一些事情,那么就让别人成为你的代理         代理设计模式的开发步骤     1.拟一份协议(协议名字的格式:控件名 + Delegate),在协议里面声明一些代理方法(一般代理方法都是@optional)     2.声明一个代理属性:@prop

十七、代理设计模式

1. 代理设计模式介绍 代理设计模式,从名字中我们就能知道其大致意思.我们生活中有很多"代理",比如,租房中介,海外代购等.就是一种本来需要A做的事,让B去代做. 定义: 为其他对象提供一种代理以控制对这个对象的访问. 2. 代理设计模式使用场景 当我们无法直接访问某一个对象时,可以通过一个代理对象间接访问.通常委托对象和代理对象有着相同的接口. (1).远程代理,为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实. (2).虚拟代理,是根据需要创建开