国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android設計模式之Builder模式詳解

2019-12-12 02:14:08
字體:
來源:轉載
供稿:網友

Builder模式使用鏈式結構創建復雜對象,將過程與結果分開,創建過程中可以自行組合。

使用場景

一個對象,不同組合,不同順序生成不同的結果
優點:封裝性更規范,程序調用不用關系內部細節,注重結果即可
缺點:如果builder對象過多,會加大內存消耗

public class TabInfoBean { private int count;//Tab的個數 必選 private int currentTab;//默認選中的tab 必選 private String[] tabText;//文字必選 private int normalResId;//可選 private int selectResId;//可選 private int normalTextColor;//可選 private int selectTextColor;//可選 private int normalTextSizeSp;//可選 private int selectTextSizeSp;//可選 private TabInfoBean(TabInfoBuilder builder) {  this.tabText = builder.tabText;  this.count = builder.count;  this.currentTab = builder.currentTab;  this.normalResId = builder.normalResId;  this.selectResId = builder.selectResId;  this.normalTextColor = builder.normalTextColor;  this.selectTextColor = builder.selectTextColor;  this.normalTextSizeSp = builder.normalTextSizeSp;  this.selectTextSizeSp = builder.selectTextSizeSp; } public int getCount() {  return count; } public void setCount(int count) {  this.count = count; } public int getCurrentTab() {  return currentTab; } public void setCurrentTab(int currentTab) {  this.currentTab = currentTab; } public int getNormalResId() {  return normalResId; } public void setNormalResId(int normalResId) {  this.normalResId = normalResId; } public int getSelectResId() {  return selectResId; } public void setSelectResId(int selectResId) {  this.selectResId = selectResId; } public int getNormalTextColor() {  return normalTextColor; } public void setNormalTextColor(int normalTextColor) {  this.normalTextColor = normalTextColor; } public int getSelectTextColor() {  return selectTextColor; } public void setSelectTextColor(int selectTextColor) {  this.selectTextColor = selectTextColor; } public String[] getTabText() {  return tabText; } public void setTabText(String[] tabText) {  this.tabText = tabText; } public int getNormalTextSizeSp() {  return normalTextSizeSp; } public void setNormalTextSizeSp(int normalTextSizeSp) {  this.normalTextSizeSp = normalTextSizeSp; } public int getSelectTextSizeSp() {  return selectTextSizeSp; } public void setSelectTextSizeSp(int selectTextSizeSp) {  this.selectTextSizeSp = selectTextSizeSp; } public static class TabInfoBuilder {  private int count;  private int currentTab;  private String[] tabText;  private int normalResId;  private int selectResId;  private int normalTextColor;  private int selectTextColor;  private int normalTextSizeSp;//可選  private int selectTextSizeSp;//可選  public TabInfoBuilder(String[] tabText, int count, int currentTab) {   this.tabText = tabText;   this.count = count;   this.currentTab = currentTab;  }  public TabInfoBuilder setNormalResId(int normalResId) {   this.normalResId = normalResId;   return this;  }  public TabInfoBuilder setSelectResId(int selectResId) {   this.selectResId = selectResId;   return this;  }  public TabInfoBuilder setNormalTextColor(int normalTextColor) {   this.normalTextColor = normalTextColor;   return this;  }  public TabInfoBuilder setSelectTextColor(int selectTextColor) {   this.selectTextColor = selectTextColor;   return this;  }  public TabInfoBuilder setNormalTextSizeSp(int size) {   this.normalTextSizeSp = size;   return this;  }  public TabInfoBuilder setSelectTextSizeSp(int size) {   this.selectTextSizeSp = size;   return this;  }  public TabInfoBean build() {   return new TabInfoBean(this);  } }}

調用方式

String[] name={"我","是","誰"};  TabInfoBean.TabInfoBuilder tabInfoBuilder=new TabInfoBean.TabInfoBuilder(name,5,0);  /* TabInfoBean tabInfoBean=tabInfoBuilder    .setNormalResId()    .setSelectResId()    .setNormalTextColor()    .setSelectTextColor()    .setNormalTextSizeSp()    .setSelectTextSizeSp()    .build();*/

github代碼地址

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射洪县| 留坝县| 县级市| 平邑县| 师宗县| 竹山县| 左贡县| 安陆市| 崇仁县| 嵊州市| 龙岩市| 和平县| 吕梁市| 绵阳市| 老河口市| 美姑县| 吴桥县| 柘荣县| 胶南市| 双鸭山市| 吴旗县| 师宗县| 绥化市| 门头沟区| 孟州市| 钟祥市| 通辽市| 昂仁县| 南宫市| 余干县| 绥德县| 新龙县| 公主岭市| 长沙市| 白河县| 自治县| 宜兴市| 柳林县| 边坝县| 蒲江县| 蓬莱市|