当前位置: 首页 > news >正文

做英文网站公司/长沙网站排名推广

做英文网站公司,长沙网站排名推广,顺德精品网站建设,潜江网站建设代理模式为其他对象提供一种代理以控制对这个对象的访问。举个例子,大家买火车票的时候,可以去火车站买,我们都知道,火车站的人很多,买票需要排队。如果不想排队,可以去代理点儿那儿买。代理就是这个意思&a…

代理模式

 为其他对象提供一种代理以控制对这个对象的访问。

举个例子,大家买火车票的时候,可以去火车站买,我们都知道,火车站的人很多,买票需要排队。

如果不想排队,可以去代理点儿那儿买。

代理就是这个意思,代我们去买火车票哈!

 

代理分为静态代理和动态代理,下面分别举例说明。

 

静态代理:

票务系统接口:

1 public interface TiketsSystem {
2     void buyTicket();
3 }

 

火车站实现了这个票务系统的接口,可以买票:

1 public class TrainStation implements TiketsSystem{
2     public void buyTicket(){
3         System.out.println("buy a ticket");
4     }

 

这个就是代理,同样实现了票务系统的接口

 1 public class TicketsProxy implements TiketsSystem{
 2     TiketsSystem proxy;
 3     TicketsProxy(){}
 4     @Override
 5     public void buyTicket() {
 6         if (proxy == null) {
 7             proxy = new TrainStation();
 8         }
 9         proxy.buyTicket();
10     }
11 }

测试:

我们买票的时候就可以不去火车站了,到路边的代理点可以更高效的买到车票,虽然有手续费,但性价比高呀,用钱来买排队的时间哈。

public class ProxyTest {
    public static void main(String[] args) {
        TicketsProxy proxy = new TicketsProxy();
        proxy.buyTicket();
    }
}

 

动态代理:

只对上面的TicketsProxy进行修改

 1 import java.lang.reflect.InvocationHandler;
 2 import java.lang.reflect.Method;
 3 import java.lang.reflect.Proxy;
 4 
 5 public class TicketsProxy implements InvocationHandler{
 6     private Object proxy;
 7     
 8     // 返回TrainStation的实例来作为代理
 9     public Object getProxy (Object p) {
10         proxy = p;
11         return Proxy.newProxyInstance(proxy.getClass().getClassLoader(), proxy.getClass().getInterfaces(), this);
12     }
13     
14     // InvocationHandler接口定义的方法
15     @Override
16     public Object invoke(Object proxy, Method method, Object[] args)
17             throws Throwable {
18         // 通过反射调用TrainStation的buyTicket方法
19         Object obj = method.invoke(this.proxy, args);
20         return obj;
21     }
22     
23 }

测试:

1 public class ProxyTest {
2     public static void main(String[] args) {
3         // 通过getProxy方法获得火车站买票的代理权
4         TiketsSystem proxy = (TiketsSystem)new TicketsProxy().getProxy(new TrainStation());
5         // 代理来买票
6         proxy.buyTicket();
7     }
8 }

 

转载于:https://www.cnblogs.com/keyiei/p/3597467.html

http://www.lbrq.cn/news/1560583.html

相关文章:

  • 电商设计网站素材/亚马逊排名seo
  • wordpress 显示空白页/广州seo外包多少钱
  • 网站优化的监测评估/seo排名优化软件免费
  • 中山做网站费用/深圳网站优化培训
  • 销售网站开发步骤/怎么样免费做网站
  • 建设银行泰安培训中心官方网站/广州官方新闻
  • 网站开发和软件开发/如何自己建个网站
  • 手机网站欣赏/深圳全网推广平台
  • 双鸭山住房和城乡建设局网站/互动营销公司
  • 呼和浩特商城网站建设/一键生成个人网站
  • 企业网络服务平台/独立站seo建站系统
  • word做网站框架/网站seo什么意思
  • 网站备案入口/百度广告
  • 热点 做网站和营销 我只服他/网络运营需要学什么
  • 罗岗网站建设公司/关键词优化骗局
  • 关于加强政府网站建设的通知/企业网站制作多少钱
  • ui中国网站/石家庄邮电职业技术学院
  • 宜昌网站建设哪家好/百度竞价推广投放
  • access做网站服务器/新闻今日头条最新消息
  • 如何上传自己做的网站/seo自动优化工具
  • 昌吉做网站需要多少钱/推广赚钱软件
  • 下载素材第三方网站是怎么做/今日国内新闻最新消息10条
  • 内乡网站制作/百度营销官网
  • 购物网站起名/沈阳seo关键词排名
  • 制作好的网站有哪些内容/网站关键词全国各地的排名情况
  • asp做的网站如何更新/百度app官网下载安装
  • 朔州网站建设电话/线下推广渠道和方式
  • 常用外贸b2b平台有哪些/手机优化专家
  • 建设网站设计/小说排行榜2020前十名
  • 电子商务网站推广策略论文/友情链接的形式
  • 安卓11 12系统修改定制化_____如何去除安卓11 12的系统签名验证
  • huggingface TRL中是怎么获取参考模型的输出的
  • Golang分布式事务处理方案
  • 《C++进阶之继承多态》【多态:概念 + 实现 + 拓展 + 原理】
  • linux服务器查看某个服务启动,运行的时间
  • 以下是对智能电梯控制系统功能及系统云端平台设计要点的详细分析,结合用户提供的梯控系统网络架构设计和系统软硬件组成,分点论述并补充关键要点: