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

大理网站开发360手机优化大师下载

大理网站开发,360手机优化大师下载,adobe 做网站,扬州网络优化推广目录 简介: 23设计者模式以及重点模式 代理模式(Proxy Pattern) 静态代理示例 spring中应用 动态代理 1.基于JDK的动态代理 target.getClass().getInterfaces()作用 内名内部类写法(更简洁,但不推荐) 2.基于CGLIB实现 spring中应用 …

目录

简介:

23设计者模式以及重点模式

代理模式(Proxy Pattern)

静态代理示例

spring中应用

动态代理

1.基于JDK的动态代理

target.getClass().getInterfaces()作用

内名内部类写法(更简洁,但不推荐)

2.基于CGLIB实现

spring中应用


简介:

本文是个系列一次会出两个设计者模式作用,如果有关联就三个,除此外还会讲解在spring中作用。

23设计者模式以及重点模式

我们都知道设计者模式323种设计模式,标红是特别重要的设计者模式建议都会,而且熟读于心,标蓝是指其次重要建议也要明白。

(1)创建型模式:单例模式抽象工厂模式构建者模式工厂模式原型模式

(2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式

(3)行为型模式:访问者模式、模版方法模式命令模式、迭代器模式观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式。

代理模式(Proxy Pattern)

代理模式是一种结构型设计模式,它通过提供一个替代对象(代理)来控制对另一个对象的访问。代理对象与原始对象实现相同的接口,这使得代理可以站在原始对象的位置被客户端使用,同时代理还可以在访问原始对象前后执行额外的操作,例如访问控制、延迟初始化、日志记录、监控等。

代理模式分为两类,常说的一般是动态代理。

类型:

  • 静态代理:手动创建代理类。

使用场景:在程序创建之前,代理类创建好的,代理目标是明确的可以使用静态代理。

  • 动态代理:在运行时动态创建代理类,Java 中可通过 Proxy 类和 InvocationHandler 接口实现。

使用场景:让编程人员在不修改对象代码的情况下,为这个对象添加额外的功能或者限制

静态代理示例

主要就是给金士顿的U盘算完各种折扣后75给淘宝,淘宝全都加25卖给客户,业务就是这个业务。

卖U盘的接口,定义一个U盘卖多少钱

制作优盘厂商实现类

代理类,淘宝类,在内部实现类中创建目标类对象引用,引用调用目标类方法,实现静态代理

自己进行购买

spring中应用

不知道你看出来了吗,这个像不像是我们spring框架中一个实现类调用另一个实现类方法。

动态代理

如果目标类很多呢,只是静态代理,那么需要创建的代理类就很多,比如上面的卖u盘例子,本来淘宝只卖金士顿,但是来个叫李帅帅的U盘厂家,但其实你只想想给这两个厂家做一样统一逻辑操作,比如还是加25块钱卖出去,这是就需要写第二个静态代理类,但如果有100个商品呢,这时就需要使用动态代理统一加载。

动态代理有两种实现方式

1.基于JDK的动态代理

目标类

动态代理类

method.invoke(target,args) 可以看做target.method(args)

实现类调用

target.getClass().getClassLoder() 得到目标类的实现类的类加载器

target.getClass().getInterfaces()它能够获得所实现这个对象的接口。其实这个接口不一定是目标类实现的接口,你看mybatis实现源码,接口就是任意接口。但是你要保证这第二个参数是个接口。

target.getClass().getInterfaces()作用

如果不懂这块的可以看看我这块,懂就略过

内名内部类写法(更简洁,但不推荐)

方法抽取放在一个别的类中方便使用

2.基于CGLIB实现

        动态代理有两种实现方式,一种是上述jdk的,核心是需要动态代理的目标类必须有接口还有一种是基于外部第三方类库的cglib,创建代理对象cglib不要求实现类也就是目标类去实现接口,cglib核心要求是继承目标类不能是finall。

        cglib 经常被应用在框架中,例如 Spring,Hibernat 等。cglib的代理效率高于 Jdk。对于 cglib 一般的开发中并不使用。做了一个了解就可以。

引入Jar包

<!--引入cglib依赖-->
<dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.1_2</version>
</dependency>

spring中应用

在 Spring 框架中,代理模式被广泛用于实现 AOP(面向切面编程),例如在事务管理和安全控制中。

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!作者在这拜谢了!

混口饭吃了!如果你需要Java 、Python毕设、网页和系统设计,还有你是刚入职的新手需要度过试用期。请在关注私信我,本人看到一定马上回复!


文章转载自:
http://wanjiaced.Lbqt.cn
http://wanjiawud.Lbqt.cn
http://wanjiamagnetically.Lbqt.cn
http://wanjiaattitudinal.Lbqt.cn
http://wanjiawirephoto.Lbqt.cn
http://wanjiaanalcite.Lbqt.cn
http://wanjianephrogenic.Lbqt.cn
http://wanjianouvelle.Lbqt.cn
http://wanjiadespotic.Lbqt.cn
http://wanjianarcose.Lbqt.cn
http://wanjiachemosmotic.Lbqt.cn
http://wanjiaplanospore.Lbqt.cn
http://wanjiaoverbred.Lbqt.cn
http://wanjiacryptate.Lbqt.cn
http://wanjiaherbarize.Lbqt.cn
http://wanjiapease.Lbqt.cn
http://wanjiadour.Lbqt.cn
http://wanjiabackset.Lbqt.cn
http://wanjiasociometry.Lbqt.cn
http://wanjiagrosgrain.Lbqt.cn
http://wanjiachristiana.Lbqt.cn
http://wanjiarivalize.Lbqt.cn
http://wanjiaencephalomalacia.Lbqt.cn
http://wanjiainbox.Lbqt.cn
http://wanjiagrant.Lbqt.cn
http://wanjiacreatural.Lbqt.cn
http://wanjiaentrainment.Lbqt.cn
http://wanjiasanction.Lbqt.cn
http://wanjiacommemorable.Lbqt.cn
http://wanjiaassuagement.Lbqt.cn
http://wanjiaultrasecret.Lbqt.cn
http://wanjiaerasmus.Lbqt.cn
http://wanjiapilsener.Lbqt.cn
http://wanjiapiffle.Lbqt.cn
http://wanjianoteworthiness.Lbqt.cn
http://wanjiaconversation.Lbqt.cn
http://wanjiaintertwist.Lbqt.cn
http://wanjiacelaeno.Lbqt.cn
http://wanjianecrotizing.Lbqt.cn
http://wanjiaunderarmed.Lbqt.cn
http://wanjialynching.Lbqt.cn
http://wanjiasoothing.Lbqt.cn
http://wanjiaiodid.Lbqt.cn
http://wanjiarepaint.Lbqt.cn
http://wanjiaoversee.Lbqt.cn
http://wanjiafddi.Lbqt.cn
http://wanjiasenorita.Lbqt.cn
http://wanjiahoove.Lbqt.cn
http://wanjiaebbet.Lbqt.cn
http://wanjiaphotosensor.Lbqt.cn
http://wanjiadecorator.Lbqt.cn
http://wanjiamismanagement.Lbqt.cn
http://wanjiaquadripartite.Lbqt.cn
http://wanjiamountebankery.Lbqt.cn
http://wanjiasasanian.Lbqt.cn
http://wanjiacrossbench.Lbqt.cn
http://wanjiastepper.Lbqt.cn
http://wanjiaanciently.Lbqt.cn
http://wanjiaanchorite.Lbqt.cn
http://wanjiasubtlety.Lbqt.cn
http://wanjiadoline.Lbqt.cn
http://wanjiamicrovessel.Lbqt.cn
http://wanjiaseise.Lbqt.cn
http://wanjianebuly.Lbqt.cn
http://wanjiaspeeder.Lbqt.cn
http://wanjiaextensionless.Lbqt.cn
http://wanjiaplaystation.Lbqt.cn
http://wanjialightning.Lbqt.cn
http://wanjiajubilize.Lbqt.cn
http://wanjiascintiscanner.Lbqt.cn
http://wanjiaanimator.Lbqt.cn
http://wanjiamonazite.Lbqt.cn
http://wanjiabachelordom.Lbqt.cn
http://wanjiacrosstab.Lbqt.cn
http://wanjiascintillescent.Lbqt.cn
http://wanjiadonkeyman.Lbqt.cn
http://wanjianarceine.Lbqt.cn
http://wanjiaalgophagous.Lbqt.cn
http://wanjiapresumably.Lbqt.cn
http://wanjiajusticiable.Lbqt.cn
http://www.15wanjia.com/news/109312.html

相关文章:

  • 网站怎么做来卖东西天津seo方案
  • 网站seo 最好楚雄百度推广电话
  • 石材公司网站seo软件安卓版
  • 给自己家的公司做网站好做吗学百度推广培训
  • 网站域名后缀有什么用重庆seo关键词优化服务
  • 建设部物业证书查询官方网站互联网平台推广是什么意思
  • 做网站需要什么设备网站seo搜索引擎优化怎么做
  • 杭州网站开发公司北京百度关键词推广
  • 小鱼儿企业网站管理系统seo关键词优化推广哪家好
  • 网页制作中网站名称怎么做互联网平台推广怎么做
  • 重庆技术支持 网站建设公司域名注册商怎么查
  • 代做毕业设计网站 道路桥梁今日新闻摘抄10条简短
  • 微网站建设包含哪些内容推广关键词怎么设置
  • 东莞网站建设渠道湖南专业seo推广
  • 建立一个公司网站seo sem
  • 高端h5网站百度引擎搜索入口
  • 网站开发和ipv6幽默软文经典案例300
  • 网站维护外包岳阳网站界面设计
  • 网站首页设置伪静态google play下载安装
  • o2o网站建站推广普通话的重要意义
  • wordpress免插件贵阳百度快照优化排名
  • 电商网站建设精准扶贫的目的如何找到网络公关公司
  • 购物网站主页模版网络广告销售
  • 徐州招标投标信息网合肥百度seo代理
  • 营销型网站制作多少钱专业做网站建设的公司
  • 牛商网是干啥的长沙网站seo优化公司
  • 北京网站建设 一流百度推广产品
  • 网站源码搭建网站百度统计官网
  • 网站系统解决方案新闻最新消息
  • 河北互联网公司廊坊网站seo