介面卡模式和裝飾器模式

2021-08-20 23:35:42 字數 837 閱讀 6755

概念:將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。特點:主要應用於希望復用一些現存的類,但是介面又與復用環境要求不一致的情況。

分類:類介面卡模式、物件的介面卡模式、介面的介面卡模式(差別較大)

實現思想:target:使用者期待的,最後需要的輸出

​ adaptee:需要適配的類

(和裝飾者模式初學時可能會弄混,這裡要搞清,裝飾者是對src的裝飾,使用者毫無察覺到src已經被裝飾了(使用者用法不變)。 這裡物件適配以後,使用者的用法還是變的。

即,裝飾者用法: setsrc->setsrc,物件介面卡用法:setsrc->setadapter.)

思想: component: 抽象構件角色:真實物件和裝飾物件有相同的介面。

​ concretecomponent: 需要裝飾的物件(真實物件)

​ decorator:裝飾角色,內含抽象元件的的引用、裝飾者共有的方法

​ concretedecorator:具體裝飾角色,負責給構建增加新的責任

開發中的使用場景:io流的設計

優缺點:

​ 優點:擴充套件物件功能,比繼承靈活,不會導致類個數急劇增加

​ 缺點:產生很多小物件。大量小物件佔據記憶體,一定程度上影響效能; 多層裝飾比較複雜。

介面卡與裝飾器模式

介面卡模式,就是把乙個類的介面變換成客戶端所能接受的另乙個介面,從而使兩個介面不匹配的兩個類能夠在一起工作。通常用於乙個專案需要引用一些開源框架來一起工作的情況下,這些開源框架都有一些關於環境資訊的介面,需要從外部傳入,但外部介面不一定能匹配,在這種請款下,就需要介面卡模式來轉換介面。介面卡模式的類...

Adapter 裝飾器(介面卡)模式

實現這個目的有兩個方法,繼承or組合 1,使用繼承 類介面卡模式 2,使用組合 物件介面卡模式 角色 target 請求介面 adapter裝飾器類 adaptee 被適配類 已經存在的類 使用繼承,類介面卡模式 public inte ce target public class adaptee ...

設計模式 門面模式 介面卡模式 裝飾器模式

9.介面卡 adapter 應用場景 優點10.裝飾者 decorator 設計原則 應用場景 優點提供了乙個統一的介面,用來訪問子系統中的一群介面,從而讓子系統更容易使用。電影需要操作很多電器,使用門面模式實現一鍵看電影功能。public class subsystem public void s...