Proxy设计模式

本文通过一个应届毕业生在深圳找房的场景,介绍了代理模式的应用。毕业生借助租房中介的帮助找到合适的住所,这一过程展示了代理模式如何解决实际问题。文章还提供了一个简单的代码示例来解释代理模式的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"Proxy"" 顾名思义 "代理"的意思,应属于结构型模式
Proxy模式在现实当中的场景
  例如:有一个应届毕业生到深圳找工作,到深圳后没房子住,于是打算去找房子,但是深圳这么大,不可能一个人把整个深圳的房子去找一遍.于是他就跑到了附近的
租售公司打听下附近有没有房子租. 这里所说的租售公司相当于 "代理" ,也就是中间层.

场景演示代码如下:

using System;
abstract class Person //人 抽象角色

{
    
abstract public void Findhouse();//找房子住

}


class FreshPerson : Person //应届毕业生
{
    
override public void Findhouse()//找房子住

    {
        Console.WriteLine(
"应届毕业生找房子住"
);
    }

}


class Proxy : Person //租房中介机构(代理角色)
{
    FreshPerson freshperson; 
//应届毕业生


    
override public void Findhouse()//找房子
    {
        
if (freshperson == null)  //如果为空

            freshperson = new FreshPerson();

        preFind();
//找房子前

        freshperson.Findhouse();//帮助应届毕业生找房子
        postFind();//找房子后
    }


    
public void preFind()
    
{
        Console.WriteLine(
"找房子前,我在玩电脑"
);
    }


    
public void postFind()
    
{
        Console.WriteLine(
"帮助应届毕业生找房子后,我就去睡觉"
);
    }

}


public class Client
{
    
public static void Main(string
[] args)
    
{
        Proxy p 
= new Proxy(); //
(代理角色)中介机构
        
//Person p = new Proxy();

        p.Findhouse();//帮助应届毕业生找房子
    }

}


以上演示了简单的Proxy模式在现实当中的例子.为什么要用到Proxy模式?

一:应届毕业生不可能把整个深圳的房子找遍,这个时候就会碰到困难.

二:为了解决困难 现实当中的Proxy模式油然而升,也就出现了中介机构,也就是程序上的
"代理".

三:在我们开发程序当中,有时碰到直接调用对象的方法会不太好,所以很多人想到了用间接的写个类再去访问对象的方法.

     这种间接的方式就是Proxy.


转载于:https://www.cnblogs.com/xiaobaigang/archive/2007/09/18/897265.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值