多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > Android設(shè)計(jì)模式系列-組合模式

Android設(shè)計(jì)模式系列-組合模式

來源:程序員人生   發(fā)布時(shí)間:2016-11-16 08:05:15 閱讀次數(shù):4030次

Android中對組合模式的利用,可謂是泛濫成粥,隨處可見,那就是View和ViewGroup類的使用。在android UI設(shè)計(jì),幾近所有的widget和布局類都依托這兩個(gè)類。
組合模式,Composite Pattern,是1個(gè)非常奇妙的模式。幾近所有的面向?qū)ο笙到y(tǒng)都利用到了組合模式。

1.意圖
將對象View和ViewGroup組合成樹形結(jié)構(gòu)以表示"部份-整體"的層次結(jié)構(gòu)(View可以做為ViewGroup的1部份)。
組合模式使得用戶對單個(gè)對象View和組合對象ViewGroup的使用具有1致性。
熱門辭匯: 部份-整體 容器-內(nèi)容 樹形結(jié)構(gòu) 1致性 葉子 合成 安全性 透明性

2.結(jié)構(gòu)

針對View和ViewGroup的實(shí)際情況,我們選擇安全式的組合模式(在組合對象中添加add,remove,getChild方法),添加少量的注釋,我們把上圖修改成:

3.代碼
View類的實(shí)現(xiàn):

  1. public class View{ 
  2.  
  3.         //... ... 
  4.  
  5.        //省略了無關(guān)的方法 
  6.  

ViewGroup的實(shí)現(xiàn):

  1. public abstract class ViewGroup extends View{ 
  2.  
  3.     /** 
  4.    * Adds a child view.  
  5.  
  6.     */ 
  7.  
  8.    public void addView(View child) { 
  9.  
  10.        //... 
  11.  
  12.     } 
  13.  
  14.  
  15.  
  16.    public void removeView(View view) { 
  17.  
  18.         //... 
  19.  
  20.     } 
  21.  
  22.  
  23.  
  24.    /** 
  25.  
  26.      * Returns the view at the specified position in the group. 
  27.  
  28.     */ 
  29.  
  30.     public View getChildAt(int index) { 
  31.  
  32.        try { 
  33.  
  34.            return mChildren[index]; 
  35.  
  36.       } catch (IndexOutOfBoundsException ex) { 
  37.  
  38.            return null; 
  39.  
  40.       } 
  41.  
  42.    } 
  43.  
  44.  
  45.  
  46.     //other methods 
  47.  

4.效果
(1).結(jié)構(gòu)型模式
(2).定義了包括基本對象和組合對象的類層次結(jié)構(gòu)。這類結(jié)構(gòu)能夠靈活控制基本對象與組合對象的使用。
(3).簡化客戶代碼。基本對象和組合對象有1致性,用戶不用辨別它們。
(4).使得更容易添加新類型的組件。
(5).使你的設(shè)計(jì)變得更加1般化。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 黄色一级片生活片 | 免费观看欧美成人1314w色 | 欧美一级毛片香蕉网 | linode日本iphone强汉 | 国产一级精品高清一级毛片 | 亚洲jjzzjjzz在线播放 | 伊人久久成人爱综合网 | 91亚洲国产成人久久精品网址 | 国产福利影院 | 亚洲精品国产成人一区二区 | 日本不卡一区视频 | 在线亚洲欧洲福利视频 | 国产精品久久久久久久y | 一区二区三区四区视频在线观看 | 国产精品夜色视频一区二区 | 手机免费视频 | 在线看黄色网址 | 在线天堂中文 | 亚洲资源站资源网在线 | 一区二区三区四区五区 | 99久久精品国产一区二区成人 | 亚洲精品推荐 | free性vido另类重口 | 艹碰在线 | 精品久久精品久久 | 4日本私人vps生活大片 | 国产亚洲精品一区二区久久 | 亚洲人成网站观看在线观看 | 成人在线视频网 | 欧美日韩亚洲国产精品 | 精品国产免费久久久久久 | 午夜写真福利视频在线观看 | 看黄色免费网站 | 国产成人三级视频在线观看播放 | 欧美三级超在线视频 | 婷婷欧美| 欧美日韩一二三区 | 久久亚洲精中文字幕冲田杏梨 | 国产成人精品日本亚洲专一区 | 9丨精品国产高清自在线看 ⅹxx日本护土 | 日本在线观看不卡免费视频 |