Android設計模式系列 組合模式

2021-06-21 11:29:41 字數 1377 閱讀 5018



2013-11-26 15:48 佚名 eoe android開發者社群

字型大小:t |

t android中對組合模式的應用,可謂是氾濫成粥,隨處可見,那就是view和viewgroup類的使用。在android ui設計,幾乎所有的widget和布局類都依靠這兩個類。

android中對組合模式的應用,可謂是氾濫成粥,隨處可見,那就是view和viewgroup類的使用。在android ui設計,幾乎所有的widget和布局類都依靠這兩個類。

組合模式,composite pattern,是乙個非常巧妙的模式。幾乎所有的物件導向系統都應用到了組合模式。

1.意圖

將物件view和viewgroup組合成樹形結構以表示"部分-整體"的層次結構(view可以做為viewgroup的一部分)。

組合模式使得使用者對單個物件view和組合物件viewgroup的使用具有一致性。

熱點詞彙: 部分-整體 容器-內容 樹形結構 一致性 葉子 合成 安全性 透明性

2.結構

針對view和viewgroup的實際情況,我們選擇安全式的組合模式(在組合物件中新增add,remove,getchild方法),新增少許的注釋,我們把上圖修改為:

view類的實現:

public class view 

viewgroup的實現:

public abstract class viewgroup extends view 

public void removeview(view view)  

/** 

* returns the view at the specified position in the group. 

*/ public view getchildat(int index)  catch (indexoutofbound***ception ex)  

} //other methods 

4.效果(1).結構型模式

(2).定義了包含基本物件和組合物件的類層次結構。這種結構能夠靈活控制基本物件與組合物件的使用。

(3).簡化客戶**。基本物件和組合物件有一致性,使用者不用區分它們。

(4).使得更容易新增新型別的元件。

(5).使你的設計變得更加一般化。

設計模式系列 組合模式

今天下班客廳的燈確實亮堂了許多,照照鏡子感覺自己一下蒼老許多,看來還是燈光暗比較好,看不出來自己的憔悴啊,哈哈,其實還是頭髮長了,決定出去剪髮。到家後稍微有點後悔,我竟然一時衝動花了那麼多錢辦了張剪髮的會員卡,不過辦也辦了,只好自己安慰安慰自己,心想,辦了卡可以打折上折,而且那麼多分店想去哪家去哪家...

組合模式 設計模式系列之組合模式解析

今天為大家帶來死磕設計模式系列的第11個模式,屬於結構型模式的 組合模式。什麼是組合模式?組合模式解決了什麼問題?適用場景是什麼?將物件組合成樹形結構以表示 部分 整體 的層次結構。composite 使得使用者對單個物件和組合物件的使用具有一致性。如果業務中需要定義複雜的資料結構,可以用樹形巢狀來...

Android設計模式系列 模板方法模式

2013 11 26 17 15 佚名 字型大小 t t 我個人對模板方法的經典思想特別推崇,雖然模板方法在大對數情況下並不被推薦使用,但是這種通過父類呼叫子類的方法,使用繼承來改變演算法的一部分,是物件導向的一種基本認識。模板方法,和單例模式是我認為gof的23中最簡單的兩種模式。但是我個人對模板...