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

平面设计提高审美网站广告创意设计方案

平面设计提高审美网站,广告创意设计方案,2023新闻热点摘抄,做rom的网站目录 什么是代理模式? 为什么会有代理模式? 怎么写代理模式? 实现代理模式总共需要三步: 什么是代理模式? 代理模式:给目标对象提供一个代理对象,并且由代理对象控制目标对象的引用 代理就是…

目录

什么是代理模式?

为什么会有代理模式?

怎么写代理模式?

实现代理模式总共需要三步:


什么是代理模式?

代理模式:给目标对象提供一个代理对象,并且由代理对象控制目标对象的引用

代理就是不允许用户访问当前核心类


为什么会有代理模式?

假设有一个类,类中写一个转账的方法:

zhuanzhang(nameA, nameB, money)

此时,一个test类就就可以直接访问该方法,这时有很多安全漏洞:a,b,name都没有经过验证就直接执行程序,完全没有考虑过a,b是否存在,money是否足够的问题

而如果把对参数的验证写到转账方法所在的类中,转账的核心方法可能就不是转账而是验证,而且代码的更改很难做到

因为当原有的写好的逻辑当中,需要增加新的功能时,由于当前整个逻辑是通顺的,不能轻易改动代码,此时,就需要代理模式解决该问题,还能够增强原有的逻辑功能

所以,代理对象相当于用户与核心方法之间的一个中介


怎么写代理模式?

如上面的例子,若转账类生成转账对象,又有代理类生成代理对象,

由代理对象控制对转账对象的引用,而此时用户在调用过程中能调用的方法都是代理方法,能看到的对象都是代理对象,

也就是说,目标对象/核心方法不对外提供引用

实现代理模式总共需要三步:
  1. 代理类实现对目标类的引用
  2. 知道目标类的核心方法是什么
  3. 调用目标类的核心方法

1.代理类如何控制目标类的引用?

就是去创建对象

一般情况下代理对象也要设置成private

用户不被允许访问当前的转账方法

2.怎样知道目标类的核心方法是什么?

可以利用反射

Proxy.newProxyInstance(o.getClass().getClassLoader(), 
o.getClass().getInterfaces(),h:this);//此时,o表示Object类型参数变量
//o.getClass().getClassLoader()  获取目标类的构造器
//o.getClass().getInterfaces()   获取目标类实现的接口

3.怎么调用目标类的核心方法?

只要在代理对象中写一个方法,该方法调用目标方法

对于用户来说,就像是直接调用了目标对象,

对于代理对象来说,实际上是调用了当前目标对象的类

当用户类去创建代理对象时,代理对象中就创建好了目标对象

通过method.invoke()调用核心方法(该方法为method包中自带),如图:


代理模式的核心功能

  1. 通过代理对象间接访问目标对象,通过防止用户直接访问目标对象,给系统带来不必要的复杂        性,即直接调用转账对象里的方法就有可能会出现前文所说的风险
  2. 通过代理业务对原有业务进行增强

代理模式分类

代理模式分为静态代理动态代理

静态代理和动态代理的一大区别在于代理类和代理对象的关系

如图:

静态代理:

  • 优点:实现起来较简单,易于理解和维护。
  • 缺点:代理类需要为每个接口都进行单独实现,如果接口方法发生变化,代理类也需要相应地修改,可扩展性较差。

且静态代理严格意义上不算代理

动态代理:

动态代理有两种实现方式:

<1>jdk                <2>cglib

这篇只介绍jdk

如何实现动态代理中代理类对代理对象一对多而代理对象对目标对象一对一的情况?

答:Object

在代理对象的方法中添加一个Object类型参数,参数对应要调用的目标方法即可实现

但其知道目标对象是什么,但是不知道目标对象里的方法是什么

如果使用接口并直接在接口后面添加方法名,此时破坏了开闭原则

此时就需要利用反射知道目标的核心方法

补:
 

是构建对象的模板,先必须创建出类来,才能把对象给创建出来

接口(Interface) 是一种抽象类型,是抽象方法的集合。一个类通过实现接口的方式,从而继承接口的抽象方法。接口的定义方式与类相似,但它们属于不同的概念。接口不能被实例化,但可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。

对于代理模式的使用,常见的有,远程代理、虚拟代理、保护代理等等

http://www.dtcms.com/a/473184.html

相关文章:

  • 网站怎么做交易市场wordpress替换图片
  • 甘孜州建设局网站网络营销的宏观环境
  • 加盟网站模板重庆响应式网页建设公司
  • 温州平台网站建设如何在各种网站投放广告
  • 手机实用网站建设网站如何选择服务器
  • 婚纱摄影网站源码咸阳做网站费用
  • 做食品那些网站计算机网络规划与设计报告
  • 做后台系统的网站郴州网站建设公司哪个好
  • 企业建设电子商务网站的预期收益那里有帮做网站的
  • 怎么建设一个漫画网站盐城网站建设兼职
  • 哈尔滨网站建设可信赖怎样做淘宝的导购网站
  • 水果网站系统的建设与实现安徽响应式网站建设哪家有
  • 用源码怎么做网站沭阳住房和城乡建设局网站
  • wordpress 网站很卡广告平面设计图片
  • 用插件做的炫酷网站win server wordpress
  • 设计类网站模板怎么做网站标题优化
  • 贷款网站建设中英网站的设计
  • 巴西网站建设长春做网站的电话
  • 太原建站公司点击查看seo优化快排
  • 广州网站建设报价单网吧网络设计方案
  • 做网站申请个体户网站分析实例
  • 有没有一些帮做名片的网站如何制作网站赚钱
  • 电脑配件网站建设仿站视频教程
  • 鹤壁建设网站推广公司电话喜满堂网站建设
  • asp网站制作成品作业wordpress 腾讯cos
  • 东海网站建设物流平台运营
  • wordpress mip img安卓优化大师历史版本
  • 如何用python做一个网站邢台集团网站建设
  • 网站建设客户功能详细要求佛山网站建设方案策划
  • 佛山高端网站制作公司哪家好自己怎么建设一个网站