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 viewviewgroup的實現:
public abstract class viewgroup extends view4.效果(1).結構型模式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
}
(2).定義了包含基本物件和組合物件的類層次結構。這種結構能夠靈活控制基本物件與組合物件的使用。
(3).簡化客戶**。基本物件和組合物件有一致性,使用者不用區分它們。
(4).使得更容易新增新型別的元件。
(5).使你的設計變得更加一般化。
設計模式系列 組合模式
今天下班客廳的燈確實亮堂了許多,照照鏡子感覺自己一下蒼老許多,看來還是燈光暗比較好,看不出來自己的憔悴啊,哈哈,其實還是頭髮長了,決定出去剪髮。到家後稍微有點後悔,我竟然一時衝動花了那麼多錢辦了張剪髮的會員卡,不過辦也辦了,只好自己安慰安慰自己,心想,辦了卡可以打折上折,而且那麼多分店想去哪家去哪家...
組合模式 設計模式系列之組合模式解析
今天為大家帶來死磕設計模式系列的第11個模式,屬於結構型模式的 組合模式。什麼是組合模式?組合模式解決了什麼問題?適用場景是什麼?將物件組合成樹形結構以表示 部分 整體 的層次結構。composite 使得使用者對單個物件和組合物件的使用具有一致性。如果業務中需要定義複雜的資料結構,可以用樹形巢狀來...
Android設計模式系列 模板方法模式
2013 11 26 17 15 佚名 字型大小 t t 我個人對模板方法的經典思想特別推崇,雖然模板方法在大對數情況下並不被推薦使用,但是這種通過父類呼叫子類的方法,使用繼承來改變演算法的一部分,是物件導向的一種基本認識。模板方法,和單例模式是我認為gof的23中最簡單的兩種模式。但是我個人對模板...