日更(二十三)-Android-所謂的Base類,模板方法模式
瞎扯
設計模式難嗎?
其實就這麼些東西....
都是經常見到的東西..
原始碼難懂嗎?
框架的設計離不開這些設計模式.
模板方法模式.
猛的一問,沒接觸過設計模式的人可能會懵.
什麼玩意..
其實呢,這個模式的概念就是父類抽象.子類實現.按固定規則執行.
比喻模板.
模板
顧名思義.
有了模板就能基於模板複製類似的東西.
我們常寫的封裝.
比如BaseActivity.BaseFragment.BaseDialog.SimpleAdapter之類的封裝.
都能看成模板方法模式.
寫個簡單的BaseActivity
public abstract class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initView();
loadData();
}
/**
* 載入資料
*/
abstract void loadData();
/**
* 初始化View
*/
abstract void initView();
}
loadData (),initView()
就是模板方法.
並且模板方法按規則,呼叫.
那麼不是Base之類的就不是模板方法嗎?
不是.
應該說只要是把內容抽象可擴充套件,要子類去實現的,都算模板方法模式.
Activity.Fragment之類的.本身就是模板方法模式.
像onCreate,onstart,onstop
這些生命週期方法.不就是交給子類去實現複寫嘛.
總結:
兩個字: 繼承
哈哈
把具體的實現交給子類.
今天算水了一篇
您的喜歡與回覆是我最大的動力-_-
交流群:493180098
相關文章
- 聊聊所謂的cookieCookie
- 所謂併發程式設計,所謂有其三程式設計
- us所謂的政治“精英”
- 所謂的職場祕籍
- php->所謂"hook"PHPHook
- Behavior.TemplateMethod模板方法模式:共同方法提升至父類模式
- 模板方法模式(Template)模式
- 設計模式-模板方法模式設計模式
- 策略模式與模板方法模式模式
- 策略模式和模板方法模式的異同模式
- python設計模式-模板方法模式Python設計模式
- js設計模式--模板方法模式JS設計模式
- 設計模式之模板方法模式設計模式
- Java設計模式-模板方法模式Java設計模式
- 設計模式之【模板方法模式】設計模式
- 聊聊所謂的彈性工作制
- 模板方法設計模式設計模式
- 這就是所謂的OC的反射機制反射
- 談所謂價值投資
- 原始碼中的設計模式--模板方法模式原始碼設計模式
- 原始碼中的設計模式--模板方法模式(鉤子方法)原始碼設計模式
- 《Head First 設計模式》:模板方法模式設計模式
- PHP設計模式之模板方法模式PHP設計模式
- 簡說設計模式——模板方法模式設計模式
- 極簡設計模式-模板方法模式設計模式
- 設計模式實戰-模板方法模式設計模式
- 所謂“Metaverse”背後的四個命題Metaverse
- 聊一聊模板方法模式模式
- 設計模式之模板方法設計模式
- Teradata退了? 無所謂,GBASE會出手
- JAVA物件導向高階二:抽象類的應用--模板方法設計模式Java物件抽象設計模式
- C#設計模式(14)——模板方法模式C#設計模式
- javascript設計模式 之 8 模板方法模式JavaScript設計模式
- Java描述設計模式(19):模板方法模式Java設計模式
- Java設計模式之(十三)——模板方法模式Java設計模式
- 所謂DNS汙染和劫持是什麼?DNS
- 模板方法模式(c++實現)模式C++
- JAVA設計模式之模板方法Java設計模式