国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Java實(shí)現多線(xiàn)程中的靜態(tài)代理模式

發(fā)布時(shí)間:2021-07-05 18:40 來(lái)源:腳本之家 閱讀:0 作者:大大丁大大 欄目: 開(kāi)發(fā)技術(shù)

前言

代理模式是一種設計模式,提供了對目標對象額外的訪(fǎng)問(wèn)方式,即通過(guò)代理對象訪(fǎng)問(wèn)目標對象,這樣可以在不修改原目標對象的前提下,提供額外的功能操作,擴展目標對象的功能。

簡(jiǎn)言之,代理模式就是設置一個(gè)中間代理來(lái)控制訪(fǎng)問(wèn)原目標對象,以達到增強原對象的功能和簡(jiǎn)化訪(fǎng)問(wèn)方式。

靜態(tài)代理屬于設計模式中的代理模式。反之則有動(dòng)態(tài)代理,本篇文章不展開(kāi)講,有興趣的可自行谷歌研究研究。

其實(shí)繼承Thread也屬于靜態(tài)代理的一種,所以在這里學(xué)習靜態(tài)代理有助于我們學(xué)習多線(xiàn)程。

靜態(tài)代理

優(yōu)點(diǎn):可以在不修改目標對象的前提下擴展目標對象的功能。

缺點(diǎn):

  • 冗余。由于代理對象要實(shí)現與目標對象一致的接口,會(huì )產(chǎn)生過(guò)多的代理類(lèi)。
  • 不易維護。一旦接口增加方法,目標對象與代理對象都要進(jìn)行修改。

一、靜態(tài)代理

實(shí)際案例:買(mǎi)房

買(mǎi)房人 我
買(mǎi)房辦理人 中介
共同的行為 買(mǎi)房
代碼實(shí)現案例:

class MyI implements BuyHouse {

    //對我來(lái)說(shuō),我只需負責拿錢(qián),簽字即可
    @Override
    public void Buy() {
        System.out.println("一百萬(wàn),簽合同,房子是我的了!");
    }
}

class Agent implements BuyHouse{
    private BuyHouse buyHouse;
    
    public Agent(BuyHouse buyHouse){
        this.buyHouse = buyHouse;
    }

    //先幫我準備合同等材料
    public void work1(){
        System.out.println("準備合同等材料~");
    }
    //帶我去房管局辦理手續
    public void work2(){
        System.out.println("帶著(zhù)客戶(hù)去辦手續~");
    }

    //中介收了我的錢(qián),他得幫我準備購房材料,帶著(zhù)我跑購房流程等等
    @Override
    public void Buy() {
        work1();
        work2();
        //客戶(hù)買(mǎi)房
        buyHouse.Buy();
    }
}

執行結果如下:

結論:

本質(zhì)上還是相當于把業(yè)務(wù)分開(kāi),降低程序的耦合性,不管是中介還是我,最終的目的都是買(mǎi)房,我只關(guān)注于買(mǎi)房的業(yè)務(wù),其他業(yè)務(wù)無(wú)需管,而中介需要準備材料,準備合同,帶我去房管局等一系列流程。

到此這篇關(guān)于Java實(shí)現多線(xiàn)程中的靜態(tài)代理模式的文章就介紹到這了,更多相關(guān)Java 多線(xiàn)程靜態(tài)代理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

女人被做到高潮免费视频| 国内精品久久久久国产盗摄| 久久精品伊人久久精品伊人| 成视频年人黄网站免费视频| A 成 人小说网站在线观看| 日本高清成本人视频一区|