日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Spring学习8之静态代理

發(fā)布時(shí)間:2025/3/21 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring学习8之静态代理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、靜態(tài)代理是什么?

代理模式是常用的Java設(shè)計(jì)模式,它的特征是代理類與委托類有同樣的接口,代理類主要負(fù)責(zé)為委托類預(yù)處理消息、過(guò)濾消息、把消息轉(zhuǎn)發(fā)給委托類,以及事后處理消息等。代理類與委托類之間通常會(huì)存在關(guān)聯(lián)關(guān)系,一個(gè)代理類的對(duì)象與一個(gè)委托類的對(duì)象關(guān)聯(lián),代理類的對(duì)象本身并不真正實(shí)現(xiàn)服務(wù),而是通過(guò)調(diào)用委托類的對(duì)象的相關(guān)方法,來(lái)提供特定的服務(wù)。

靜態(tài)代理類:由程序員創(chuàng)建生成源代碼,再對(duì)其編譯,即創(chuàng)建一個(gè)代理類。在程序運(yùn)行前,代理類就已經(jīng)存在了。

二、使用步驟

代碼步驟:
1.接口
⒉真實(shí)角色
3.代理角色
4.客戶端訪問(wèn)代理角色
下面以租房為例子:

1.需要的類

房東需要出租房子,房東的類

package com.shan.demo01;public class Host implements Rent{public void rent(){System.out.println("房東要出租房子!");}}

客戶需要租房子,客戶的類
客戶找代理租房子,客戶和代理交接

package com.shan.demo01;public class Client {public static void main(String[] args) {//代理幫房東出租房子,但是代理會(huì)有自己的操作Proxy proxy = new Proxy(new Host());//你不用面對(duì)房東租房,直接可以找代理租房proxy.rent();} }

代理人需要和兩邊同時(shí)交接,代理的類

package com.shan.demo01;public class Proxy implements Rent{private Host host;public Proxy() {}public Proxy(Host host) {this.host = host;}@Overridepublic void rent() {host.rent();seeHouse();this.fare();this.hetong();}//看房public void seeHouse(){System.out.println("代理帶你看房");}//收中介費(fèi)public void fare(){System.out.println("收中介費(fèi)");}//簽租賃合同public void hetong(){System.out.println("簽租賃合同");}}

共同的接口,租房的方法

package com.shan.demo01;public interface Rent {//租房public void rent();}

2.解析

客戶想要租房子,房東想要出租房子,可是客戶不容易找到房東,于是客戶找到了中介(代理類),中介幫房東出租房子,中介把房子出租給客戶,中介還可以干自己的事情,不會(huì)影響到業(yè)務(wù)。
最終客戶只要找到代理類,去調(diào)用代理的方法就能完成租房子,而不需要直接面向房東!并且代理類能有他自己的事情(代理收中介費(fèi)等等);不會(huì)影響業(yè)務(wù)!
這就是代理的作用!

總結(jié)

優(yōu)點(diǎn)

  • 可以使真實(shí)角色的操作更加純粹!不用去關(guān)注一些公共的業(yè)務(wù)
  • 公共業(yè)務(wù)交給了代理,實(shí)現(xiàn)了業(yè)務(wù)的分工
  • 公共業(yè)務(wù)發(fā)生拓展時(shí),方便集中管理

缺點(diǎn):

  • 一個(gè)真實(shí)的角色就會(huì)產(chǎn)生一個(gè)代理,代碼量翻倍,開(kāi)發(fā)效率降低

作者有話說(shuō)

博客創(chuàng)作不易,希望看到這里的讀者動(dòng)動(dòng)你的小手點(diǎn)個(gè)贊,如果喜歡的小伙伴可以一鍵三連,作者大大在這里給大家謝謝了。

總結(jié)

以上是生活随笔為你收集整理的Spring学习8之静态代理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。