您好,登錄后才能下訂單哦!
摘自大話設計模式
結構性模式
適配器模式:將一個類的接口轉換為客戶需要的另一個接口。使得原本由于不兼容的接口而不能一起工作的類可以一起工作。
特點:讓接口不同的類通過適配器協調工作。
橋接模式:將抽象部分與實現部分分離,使他們可以獨立工作。
特點:繼承過渡使用的話,會使得設計復雜,難以維護,這時候可以解耦變化,然后通過組合的方式,把角色的繼承改為組合。其實就是找出變化并封裝然后聚合代替繼承。
組合模式:將對象組合成樹結構,表示‘部分-整體’的層次結構,組合模式使用戶對單個對象和組合對象的使用具有一致性。
特點:可以忽略組合對象和單個對象的不同,統一使用組合模式中的所有對象。
裝飾模式:動態的給對象添加額外的職能,就增加功能來說,裝飾模式比子類更靈活。
特點:繼承過渡使用,使得子類龐大,并且大部分子類只是為某一對象增加職責。用裝飾模式的方式,可以動態透明的給單個對象增加職責。
外觀模式:為子系統的一組接口提供一個一致性界面,外觀模式定義了更高層接口,這個接口使得子系統更加容易使用。
特點:如果兩個類不需要直接通信,那么就不要讓他們直接發生關系,如果實在要調用,那么通過第三者轉發調用。具體辦法就是引入外觀對象,他為子系統提供一個簡單單一的屏障。
享元模式:為運用共享技術有效的支持大量細粒度對象。
特點:對象使用過多,會讓內存占用太多,大量重復對象,會造成資源浪費。所以需要享元。
代理模式:為其他對象提供一種代理以控制對這個對象的訪問。
代理與外觀的區別:代理代表一個單一對象而外觀代表一個子系統;代理的客戶對象無法直接訪問目標對象,由代理提供對單獨的目標對象的訪問控制,而外觀的客戶對象可以直接訪問子系統中的各個對象,但通常由外觀對象提供對子系統各元件功能的簡化的共同層次的調用接口。
代理與適配器:代理是原來對象的代表,其他需要與這個對象打交道的操作其實都是與這個代表交涉;適配器不需要虛構出一個代理,只需要為應付特定使用目的,將原來的類進行一些組合。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。