中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

翡翠原石網(wǎng)站首頁怎么做怎樣做app推廣

翡翠原石網(wǎng)站首頁怎么做,怎樣做app推廣,西安淘寶網(wǎng)站建設(shè)公司哪家好,網(wǎng)站sem優(yōu)化怎么做一.核心作用 通過代理,控制對(duì)對(duì)象的訪問;可以詳細(xì)控制訪問某個(gè)對(duì)象的方法,在調(diào)用這個(gè)方法前做前置處理,調(diào)用這個(gè)方法后做后置處理。 二.核心角色 抽象角色: 定義代理角色和真實(shí)角色的公共對(duì)外方法;真實(shí)角色: 實(shí)現(xiàn)抽…

一.核心作用

  • 通過代理,控制對(duì)對(duì)象的訪問;
  • 可以詳細(xì)控制訪問某個(gè)對(duì)象的方法,在調(diào)用這個(gè)方法前做前置處理,調(diào)用這個(gè)方法后做后置處理。

二.核心角色

  • 抽象角色: 定義代理角色和真實(shí)角色的公共對(duì)外方法;
  • 真實(shí)角色: 實(shí)現(xiàn)抽象角色,定義真實(shí)角色suo’yao實(shí)現(xiàn)的業(yè)務(wù)邏輯,供代理角色調(diào)用;
  • 代理角色: 實(shí)現(xiàn)抽象角色,是真實(shí)角色的代理,通過真實(shí)角色的業(yè)務(wù)邏輯方法來實(shí)現(xiàn)抽象方法,并可以附加自己的操作。將統(tǒng)一的流程控制放到代理角色中處理。

三.應(yīng)用場(chǎng)景

  • 安全代理: 屏蔽對(duì)真實(shí)角色的直接訪問;
  • 遠(yuǎn)程訪問: 通過代理類處理遠(yuǎn)程方法調(diào)用;
  • 延遲加載: 先加載輕量級(jí)的代理對(duì)象,真實(shí)需要再加載真實(shí)對(duì)象。

四.分類

  • 靜態(tài)代理: 靜態(tài)定義代理類
  • 動(dòng)態(tài)代理: 動(dòng)態(tài)生成代理類

五.動(dòng)態(tài)代理類生成方式

  • JDK自帶的動(dòng)態(tài)代理;
  • CGLIB實(shí)現(xiàn);
  • javaassist字節(jié)碼操作庫實(shí)現(xiàn);
  • ASM(底層使用指令,可維護(hù)性較差)

六.動(dòng)態(tài)代理相比靜態(tài)代理的優(yōu)點(diǎn)

  • 抽象角色中聲明的所有方法都被轉(zhuǎn)移到調(diào)用處理器一個(gè)集中的方法中處理,這樣,我們可以更新靈活和統(tǒng)一的處理眾多的方法。

七.JDK自帶的動(dòng)態(tài)代理

  • java.lang.reflect.Proxy
    • 動(dòng)態(tài)生成代理類和對(duì)象;
  • java.lang.reflect.InvocationHandler
    • 可以通過invoke方法實(shí)現(xiàn)對(duì)真實(shí)角色的代理訪問;
    • 每次通過Proxy生成代理類對(duì)象時(shí)都有指定對(duì)應(yīng)的處理器對(duì)象

八.舉例代碼實(shí)現(xiàn)

  • 例:

    • 以金南鈴演出為例,假如客戶邀請(qǐng)金南玲演出唱歌,要做這些事情:面試、簽合同、訂票、唱歌、收錢。如果金南玲演出少,那么這些事情她自己就可以干;如果演出多,與每個(gè)客戶合作她自己都有干這么多事,很繁瑣;金南玲她自己主要業(yè)務(wù)就是唱歌,那么唱歌之前和之后的事都可以交給別人來做,很自然的就產(chǎn)生了經(jīng)紀(jì)人概念。除了唱歌由金南玲本人來做,其它事情都交給經(jīng)紀(jì)人做。這理的經(jīng)紀(jì)人就是我們所說的代理。
  • 1.代碼實(shí)現(xiàn)

    • 抽象角色類
/*** 抽象角色*/
public interface Star {//面試void confer();//簽合同void singContract();//訂票void bookTicket();//唱歌void sing();//收尾款void collectMoney();
}
    • 真實(shí)角色類
/*** 真實(shí)角色*/
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("收錢");}
}
    • 靜態(tài)代理——代理角色
/*** 代理角色*/
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("收錢");}
}
    • 靜態(tài)代理——客戶調(diào)用
/*** 靜態(tài)代理*/
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();
}
    • 動(dòng)態(tài)代理——代理角色
/***  動(dòng)態(tài)代理實(shí)現(xiàn)代理模式*		 動(dòng)態(tài)代理類 */
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("代理收錢");}
}
    • 動(dòng)態(tài)代理——客戶調(diào)用
/***  動(dòng)態(tài)代理實(shí)現(xiàn)代理模式*/
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();
}



更多設(shè)計(jì)模式學(xué)習(xí):

??????????設(shè)計(jì)模式(1):介紹
??????????設(shè)計(jì)模式(2):單例模式
??????????設(shè)計(jì)模式(3):工廠模式
??????????設(shè)計(jì)模式(4):建造者模式
??????????設(shè)計(jì)模式(5):原型模式
??????????設(shè)計(jì)模式(6):橋接模式
??????????設(shè)計(jì)模式(7):裝飾器模式
??????????設(shè)計(jì)模式(8):組合模式
??????????設(shè)計(jì)模式(9):外觀模式
??????????設(shè)計(jì)模式(10):享元模式
??????????設(shè)計(jì)模式(11):適配器模式
??????????設(shè)計(jì)模式持續(xù)更新中…

http://www.risenshineclean.com/news/27765.html

相關(guān)文章:

  • 網(wǎng)站手機(jī)端 怎么做阿里指數(shù)官方網(wǎng)站
  • 在局網(wǎng)站 作風(fēng)建設(shè)百度電話怎么轉(zhuǎn)人工
  • 網(wǎng)站備案當(dāng)面核驗(yàn)中國搜索引擎市場(chǎng)份額
  • 汕頭網(wǎng)站推廣教程2345瀏覽器網(wǎng)址導(dǎo)航
  • 怎么做淘寶客網(wǎng)站賺錢整站優(yōu)化加盟
  • 做英文網(wǎng)站哪家好關(guān)鍵詞首頁排名優(yōu)化價(jià)格
  • 大寺網(wǎng)站建設(shè)公司不限次數(shù)觀看視頻的app
  • 網(wǎng)站備案填寫昆山網(wǎng)站制作公司
  • 可以做早安圖片的網(wǎng)站一鍵優(yōu)化大師下載
  • domain:網(wǎng)站建設(shè)網(wǎng)站建設(shè)的系統(tǒng)流程圖
  • 有了網(wǎng)站 怎么做排名優(yōu)化新聞?lì)^條最新消息今日頭條
  • 企業(yè)網(wǎng)盤怎么申請(qǐng)seo搜索優(yōu)化 指數(shù)
  • 兼職做設(shè)計(jì)什么網(wǎng)站好360競(jìng)價(jià)推廣
  • 建筑工地招聘信息網(wǎng)昆明網(wǎng)站seo公司
  • 網(wǎng)站開發(fā)網(wǎng)絡(luò)課程網(wǎng)絡(luò)營銷的平臺(tái)有哪些
  • 電商網(wǎng)站怎么做支付廣州專門做seo的公司
  • 上海做網(wǎng)站要多少錢邵陽seo優(yōu)化
  • 哪些網(wǎng)站做魔獸地圖樂云seo
  • 柳州市網(wǎng)站制作公司網(wǎng)站的seo方案
  • 網(wǎng)站信息向上滾動(dòng)標(biāo)簽手機(jī)網(wǎng)站自助建站系統(tǒng)
  • ??诰W(wǎng)站制作企業(yè)成都seo的方法
  • .org做商業(yè)網(wǎng)站sem代運(yùn)營費(fèi)用
  • 網(wǎng)頁版微信怎么掃描二維碼seo網(wǎng)站推廣優(yōu)化論文
  • 做兼職的網(wǎng)站晉城seo
  • 濟(jì)寧市建設(shè)工程招投標(biāo)網(wǎng)站20個(gè)排版漂亮的網(wǎng)頁設(shè)計(jì)
  • 做網(wǎng)站流程營銷推廣軟文案例
  • 甘肅省衛(wèi)健委網(wǎng)站官網(wǎng)今天國際新聞
  • wordpress要不要放網(wǎng)站地圖seo是什么東西
  • 網(wǎng)站建設(shè)怎么做賬會(huì)計(jì)谷歌怎么推廣自己的網(wǎng)站
  • 四川住房和城鄉(xiāng)建設(shè)廳官網(wǎng)安全員seo主要是指優(yōu)化