菜鸟学设计模式之代理模式

  设计模式之代理模式

                              心得体会

       上完代理模式这一课后写一点自己的心得体会。

       无论在那个行业谈创业必不可少的就是资金,当然软件这个行业也不例外,不过在每个行业都有着自己节约资金的方法,当然软件这个行业也有。我们就会想到在创业时需

要服务器,一个刚刚起步的企业不可能花大笔的资金去购买一台服务器,当然也不可能有那么多的资金来购买啊。所以我们就需要来租用别人的服务器,那么这就可以说我们需

要一个代理。通过租用别人的服务器我们就可以节约很多资金,这更有利于创业。通过老师的讲解似乎也更懂了许多商业界的事,比如说土豆和优酷的合并,不是就因为服务器

资源的浪费吗,服务器得不到充分的利用,并占用了大量的资金来购买服务器,两家的合并共用一台服务器,节约很多的成本。所以对于我们软件行业的最初创业者而言租用服

务器是很划算的。

     租用一台服务器来运行我们的程序,客户和我们还有租来的服务器就组成了一个代理模式的示意图,通过租用服务器,就是代理模式的一个应用。

课后习题:

class Access Validator

{

public  bool Validate(string  userId)

   {

//身份验证实现代码省略

   }

}

class Logger

{

public void Log(string userId)

    {

//日志记录实现代码省略

    }

}

interface  Logger

{

string DoSearch (string userId , string keyword);

}

class RealSearch :Search

{

   public string DoSearch(string userId , string keyword)

     { 

     //信息查询实现代码省略

     }

}

class  ProxySearch:Search

{

     private RealSearch searcher=new RealSearch();

     private AccessValidator validator ;

     private Logger logger;

    public string DoSearch(string userId , string keyword)

   {

//如果身份验证成功,则执行查询

   if (validate.userId)

      {

    string result =searcher.DoSearch()userId ,keyword);

   log.userId;//记录查询日志

   return  result; //返回查询结果

      }

     else

           {

                return null ;

           }

   }

public bool Validate(string userId)

  {

validator=new AccessValidator();

return validator.validate(userId);

  }

public void (string userId)

  {

logger=new Logger();

return logger.log();

  }


}

class Test

{

 public static void Main(string args[])

  {

   Searcher  searcher;//针对抽象编程,客户端无需分辨真实主题类和代理类

   searcher=new ProxySearcher();

  string result=searcher.DoSearch("Sunny","Money");

   //此处省略后续处理代码

  }

}


 

 

 

 

 

 

 

 

 

 

 

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值