成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

裝飾器模式是什么意思

本篇內(nèi)容主要講解“裝飾器模式是什么意思”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“裝飾器模式是什么意思”吧!

在鹽田等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需求定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,鹽田網(wǎng)站建設(shè)費(fèi)用合理。

裝飾器(Decorator)模式指在不改變現(xiàn)有對象結(jié)構(gòu)的情況下,動態(tài)地給該對象增加一些職責(zé)(即增加其額外功能)的模式,它屬于對象結(jié)構(gòu)型模式。采用裝飾模式擴(kuò)展對象的功能比采用繼承方式更加靈活;可以設(shè)計出多個不同的具體裝飾類,創(chuàng)造出多個不同行為的組合。但是裝飾模式增加了許多子類,如果過度使用會使程序變得很復(fù)雜。

模式結(jié)構(gòu)

裝飾器模式的角色如下:

  • 頂層接口

  • 被裝飾者

  • 裝飾器抽象類

  • 裝飾器

源碼導(dǎo)讀

裝飾器模式使用的典型就是io流了,前面適配器模式我們說到過io流使用了適配器模式,用于字節(jié)流轉(zhuǎn)換到字符流;裝飾器模式在io流中也是一個很經(jīng)典的使用。其使用的地方就是給流裝飾上緩存。以輸入流為例, BufferedInputStream 就是對FileInputStream的裝飾,我們看一下這段代碼:

    String file = "out.txt";    
    InputStream ins = new FileInputStream(file);
     BufferedInputStream bufin= new BufferedInputStream(ins);
     int b;
     while((b=bufin.read())!=-1){
         System.out.println(Integer.toHexString(b));
    }

BufferedInputStream 源碼:

public class BufferedInputStream extends FilterInputStream {
    
     public BufferedInputStream(InputStream in) {
        this(in, DEFAULT_BUFFER_SIZE);
    }
    ......
    public synchronized int read(byte b[], int off, int len) throws IOException{
        ......
    }
}

它繼承了FilterInputStream,而 FilterInputStream 繼承了 InputStreamFileInputStream也繼承了InputStream 。 所以這里的角色關(guān)系為 InputStream 是頂層類(接口),FileInputStream 是被裝飾類,BufferedInputStream 是裝飾類。BufferedInputStreamFileInputStreamInputStream繼承過來的方法進(jìn)行了裝飾,這里的。FilterInputStream占據(jù)的角色是裝飾器抽象類,但其并不是個抽象類;這并不影響我們對其模式的理解。

到此,相信大家對“裝飾器模式是什么意思”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞名稱:裝飾器模式是什么意思
網(wǎng)頁路徑:http://jinyejixie.com/article14/ppiode.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
南宫市| 南川市| 集贤县| 石楼县| 梁平县| 新宁县| 三穗县| 河曲县| 贡觉县| 定西市| 和田市| 广宁县| 靖江市| 洛川县| 鄂州市| 伊宁市| 潮安县| 扶风县| 芮城县| 内黄县| 惠州市| 同仁县| 山东| 柳河县| 九寨沟县| 秦皇岛市| 望城县| 祥云县| 民乐县| 西宁市| 镇原县| 剑川县| 南阳市| 通化县| 格尔木市| 彰化市| 高雄县| 双桥区| 赤壁市| 扎鲁特旗| 长岭县|