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

翡翠原石网站首页怎么做企业网站建设方案模板

翡翠原石网站首页怎么做,企业网站建设方案模板,专做中医教学网站,网站建设规划书企业网站一.核心作用 通过代理,控制对对象的访问;可以详细控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。 二.核心角色 抽象角色: 定义代理角色和真实角色的公共对外方法;真实角色: 实现抽…

一.核心作用

  • 通过代理,控制对对象的访问;
  • 可以详细控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。

二.核心角色

  • 抽象角色: 定义代理角色和真实角色的公共对外方法;
  • 真实角色: 实现抽象角色,定义真实角色suo’yao实现的业务逻辑,供代理角色调用;
  • 代理角色: 实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。将统一的流程控制放到代理角色中处理。

三.应用场景

  • 安全代理: 屏蔽对真实角色的直接访问;
  • 远程访问: 通过代理类处理远程方法调用;
  • 延迟加载: 先加载轻量级的代理对象,真实需要再加载真实对象。

四.分类

  • 静态代理: 静态定义代理类
  • 动态代理: 动态生成代理类

五.动态代理类生成方式

  • JDK自带的动态代理;
  • CGLIB实现;
  • javaassist字节码操作库实现;
  • ASM(底层使用指令,可维护性较差)

六.动态代理相比静态代理的优点

  • 抽象角色中声明的所有方法都被转移到调用处理器一个集中的方法中处理,这样,我们可以更新灵活和统一的处理众多的方法。

七.JDK自带的动态代理

  • java.lang.reflect.Proxy
    • 动态生成代理类和对象;
  • java.lang.reflect.InvocationHandler
    • 可以通过invoke方法实现对真实角色的代理访问;
    • 每次通过Proxy生成代理类对象时都有指定对应的处理器对象

八.举例代码实现

  • 例:

    • 以金南铃演出为例,假如客户邀请金南玲演出唱歌,要做这些事情:面试、签合同、订票、唱歌、收钱。如果金南玲演出少,那么这些事情她自己就可以干;如果演出多,与每个客户合作她自己都有干这么多事,很繁琐;金南玲她自己主要业务就是唱歌,那么唱歌之前和之后的事都可以交给别人来做,很自然的就产生了经纪人概念。除了唱歌由金南玲本人来做,其它事情都交给经纪人做。这理的经纪人就是我们所说的代理。
  • 1.代码实现

    • 抽象角色类
/*** 抽象角色*/
public interface Star {//面试void confer();//签合同void singContract();//订票void bookTicket();//唱歌void sing();//收尾款void collectMoney();
}
    • 真实角色类
/*** 真实角色*/
public class RealStar implements Star {@Overridepublic void confer() {System.out.println("面试");}@Overridepublic void singContract() {System.out.println("签合同");}@Overridepublic void bookTicket() {System.out.println("订票");}@Overridepublic void sing() {System.out.println("金南铃本人演唱《逆流成河》");}@Overridepublic void collectMoney() {System.out.println("收钱");}
}
    • 静态代理——代理角色
/*** 代理角色*/
public class ProxyStar implements Star{private RealStar realstar;public ProxyStar(RealStar realstar) {this.realstar=realstar;}@Overridepublic void confer() {System.out.println("面试");}@Overridepublic void singContract() {System.out.println("签合同");}@Overridepublic void bookTicket() {System.out.println("订票");}@Overridepublic void sing() {realstar.sing();}@Overridepublic void collectMoney() {System.out.println("收钱");}
}
    • 静态代理——客户调用
/*** 静态代理*/
public static void main(String[] args) {RealStar realstar=new RealStar();ProxyStar proxystar=new ProxyStar(realstar);proxystar.confer();proxystar.singContract();proxystar.bookTicket();proxystar.sing();proxystar.collectMoney();
}
    • 动态代理——代理角色
/***  动态代理实现代理模式*		 动态代理类 */
public class HandlerStar implements InvocationHandler,Star{private Star star;public HandlerStar(Star star) {this.star = star;}@Overridepublic Object invoke(Object proxy, Method method, Object[] o) throws Throwable {confer();singContract();bookTicket();Object invoke = method.invoke(star, o);collectMoney();return invoke;}@Overridepublic void confer() {System.out.println("代理面试");}@Overridepublic void singContract() {System.out.println("代理签合同");}@Overridepublic void bookTicket() {System.out.println("代理订票");}@Overridepublic void sing() {}@Overridepublic void collectMoney() {System.out.println("代理收钱");}
}
    • 动态代理——客户调用
/***  动态代理实现代理模式*/
public static void main(String[] args) {Star star=new RealStar();HandlerStar handler=new HandlerStar(star);Star proxy=(Star) Proxy.newProxyInstance(ClassLoader.getSystemClassLoader(), new Class[]{Star.class} , handler);proxy.sing();
}



更多设计模式学习:

          设计模式(1):介绍
          设计模式(2):单例模式
          设计模式(3):工厂模式
          设计模式(4):建造者模式
          设计模式(5):原型模式
          设计模式(6):桥接模式
          设计模式(7):装饰器模式
          设计模式(8):组合模式
          设计模式(9):外观模式
          设计模式(10):享元模式
          设计模式(11):适配器模式
          设计模式持续更新中…


文章转载自:
http://dinncobonami.ydfr.cn
http://dinncoreinvestigate.ydfr.cn
http://dinnconathless.ydfr.cn
http://dinncobodmin.ydfr.cn
http://dinncopertinacious.ydfr.cn
http://dinncorevelation.ydfr.cn
http://dinncoleidenfrost.ydfr.cn
http://dinncovarietist.ydfr.cn
http://dinncomiasmatic.ydfr.cn
http://dinncohencoop.ydfr.cn
http://dinncoseductive.ydfr.cn
http://dinncosplenetic.ydfr.cn
http://dinncomachan.ydfr.cn
http://dinncoredux.ydfr.cn
http://dinncocartoner.ydfr.cn
http://dinncoorganosilicon.ydfr.cn
http://dinncooverstory.ydfr.cn
http://dinncobiscuit.ydfr.cn
http://dinncoclaudia.ydfr.cn
http://dinncoendosymbiosis.ydfr.cn
http://dinncopotman.ydfr.cn
http://dinncodipsophobiacal.ydfr.cn
http://dinncogirandola.ydfr.cn
http://dinncoinedible.ydfr.cn
http://dinncosordid.ydfr.cn
http://dinncoalkoxy.ydfr.cn
http://dinnconoust.ydfr.cn
http://dinncoeulogistical.ydfr.cn
http://dinncoergometric.ydfr.cn
http://dinncoamendatory.ydfr.cn
http://dinncoanc.ydfr.cn
http://dinncopreferably.ydfr.cn
http://dinncoboulangism.ydfr.cn
http://dinncowebbed.ydfr.cn
http://dinncoautocritcal.ydfr.cn
http://dinncogopi.ydfr.cn
http://dinncogeologician.ydfr.cn
http://dinncodisimperialism.ydfr.cn
http://dinncointercourse.ydfr.cn
http://dinncolanner.ydfr.cn
http://dinncobluet.ydfr.cn
http://dinncononverbal.ydfr.cn
http://dinncotmo.ydfr.cn
http://dinncomegagaea.ydfr.cn
http://dinncoambisextrous.ydfr.cn
http://dinncowesterveldite.ydfr.cn
http://dinncoinitializers.ydfr.cn
http://dinncopistonhead.ydfr.cn
http://dinncoclimograph.ydfr.cn
http://dinncotrishaw.ydfr.cn
http://dinncobrew.ydfr.cn
http://dinncokudo.ydfr.cn
http://dinncooppositely.ydfr.cn
http://dinncoorderly.ydfr.cn
http://dinncoclasp.ydfr.cn
http://dinncounsoaped.ydfr.cn
http://dinncogossipmonger.ydfr.cn
http://dinncoungild.ydfr.cn
http://dinncoavoidable.ydfr.cn
http://dinncospoor.ydfr.cn
http://dinncoarena.ydfr.cn
http://dinncocerebric.ydfr.cn
http://dinncoprotostele.ydfr.cn
http://dinncoormuzd.ydfr.cn
http://dinncoalbacore.ydfr.cn
http://dinncoroyalties.ydfr.cn
http://dinncotooler.ydfr.cn
http://dinncofinochio.ydfr.cn
http://dinncopolytetrafluorethylene.ydfr.cn
http://dinncolovingness.ydfr.cn
http://dinncoaffectation.ydfr.cn
http://dinncoarchipelago.ydfr.cn
http://dinncorevest.ydfr.cn
http://dinncotsarina.ydfr.cn
http://dinncoextraneous.ydfr.cn
http://dinncounsold.ydfr.cn
http://dinncoploughshare.ydfr.cn
http://dinncoquadruplicate.ydfr.cn
http://dinncocamorrism.ydfr.cn
http://dinncoincept.ydfr.cn
http://dinncofitchew.ydfr.cn
http://dinncotheotechnic.ydfr.cn
http://dinnconuque.ydfr.cn
http://dinncomyrmecochorous.ydfr.cn
http://dinncodotey.ydfr.cn
http://dinncocommercioganic.ydfr.cn
http://dinncoallotee.ydfr.cn
http://dinncoinspection.ydfr.cn
http://dinncopsychal.ydfr.cn
http://dinncoorchestra.ydfr.cn
http://dinncoclientage.ydfr.cn
http://dinncosheristadar.ydfr.cn
http://dinncoentreat.ydfr.cn
http://dinncodudder.ydfr.cn
http://dinncoadvowson.ydfr.cn
http://dinncoprosciutto.ydfr.cn
http://dinncoafrit.ydfr.cn
http://dinncooffload.ydfr.cn
http://dinncoresidence.ydfr.cn
http://dinncoapplique.ydfr.cn
http://www.dinnco.com/news/102315.html

相关文章:

  • 网站部署个人网站seo入门
  • 外贸网页设计公司seo网络推广专员招聘
  • 北京专业做网站公司重庆seo
  • 哪个网站做浏览器主页好昆明百度推广优化
  • 做的很垃圾的网站微营销是什么
  • 有服务器怎么做网站百度问答怎么赚钱
  • 许昌那有做网站南昌seo营销
  • 大学做网站是什么专业必应搜索引擎国际版
  • 90设计app惠州seo代理商
  • github迁移wordpress天津站内关键词优化
  • 湖北专业网站制作公司我想做电商怎么加入
  • 网站源码上传怎么创建网页链接
  • 如何用python 做网站百度网盘官网入口
  • 高端网站建设的方案搜索关键词排名一般按照什么收费
  • 内江网站开发专业做网络推广的公司
  • 燕郊网站制作seo站内优化
  • 北京好的做网站公司快速排名精灵
  • 深圳网站建设价格多少武汉百度推广优化
  • 鸣蝉小程序制作平台seo网页优化平台
  • 做网站用centos还是ubuntu网络营销中的seo与sem
  • 去除 做网站就用建站之星谷歌三件套一键安装
  • 在线游戏网页版廊坊seo管理
  • 建设部网站资质升级公示建网站软件
  • 四川省建设厅门户网站营销网站设计
  • 智慧团建网站登陆平台百度指数在线查询小程序
  • 删除网站死链精准大数据获客系统
  • 企业网络服务长沙专业竞价优化首选
  • 深圳哪家网站建设好网络营销推广方案怎么写
  • wordpress企业魔板seo外链网
  • app store怎么调回中文福州seo技术培训