bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Android中怎么實現(xiàn)模板方法模式

本篇文章為大家展示了Android中怎么實現(xiàn)模板方法模式,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設,武夷山企業(yè)網(wǎng)站建設,武夷山品牌網(wǎng)站建設,網(wǎng)站定制,武夷山網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,武夷山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

1.意圖
定義一個操作中的算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。 
熱門詞匯:骨架  步驟 結(jié)構(gòu) 延遲到子類

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

Android中怎么實現(xiàn)模板方法模式

定義了幾個步驟1,2,3等,在模板方法中按照一定的結(jié)構(gòu)順序執(zhí)行這些步驟。父類的方法可以有缺省實現(xiàn),也可以是一個空實現(xiàn),即所謂的鉤子操作。
結(jié)合實際情況,我們畫出View中draw方法涉及到的幾個步驟方法如下:

Android中怎么實現(xiàn)模板方法模式
學習模板方法對于我們了解框架的基類實現(xiàn),生命周期和流程控制非常有幫助,我覺得是務必要掌握的一個模式。

3.代碼

public class View{      /**       * 鉤子操作,空實現(xiàn)       */     protected void onDraw(Canvas canvas) {      }         /**       *鉤子操作,空實現(xiàn)       */     protected void dispatchDraw(Canvas canvas) {      }         //算法骨架      public void draw(Canvas canvas) {         if (!verticalEdges && !horizontalEdges) {              // 步驟1              if (!dirtyOpaque) onDraw(canvas);                 // 步驟2              dispatchDraw(canvas);                 // 步驟3              onDrawScrollBars(canvas);                 return;          }      }      //... ...  }

我們看看系統(tǒng)組件TextView的實現(xiàn):

public class TextView{      @Override     protected void onDraw(Canvas canvas) {          //大量自定義實現(xiàn)代碼      }  }

如果我們自定義View的話,我們一般也是重寫onDraw方法即可:

public class MyView extends View {         public MyView(Context context) {          super(context);      }         @Override     protected void onDraw(Canvas canvas) {          super.onDraw(canvas);      }         @Override     protected void dispatchDraw(Canvas canvas) {          super.dispatchDraw(canvas);      }         }

4.效果
(1).模板方法是一種代碼復用的基本技術(shù)。它們在類庫中尤為重要,它們提取了類庫中的公共行為。
(2).模板方法導致一種方向控制結(jié)構(gòu),"好萊塢法則":"Don't  call me,i will call  you.",即一個父類調(diào)用子類的操作,而不是相反。
(3).模板調(diào)用操作的類型有具體的操作,具體的AbstracClass操作,原語操作,工廠方法,鉤子操作。少定義原語操作。
(4).android中對這些重定義操作的命名喜歡在方法前加一個前綴on。
(5).模板方法使用繼承來改變算法的一部分。策略模式使用委托來改變整個算法。

上述內(nèi)容就是Android中怎么實現(xiàn)模板方法模式,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前題目:Android中怎么實現(xiàn)模板方法模式
分享網(wǎng)址:http://vcdvsql.cn/article40/gjieeo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站網(wǎng)站設計公司外貿(mào)網(wǎng)站建設移動網(wǎng)站建設手機網(wǎng)站建設面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計