探討Android sdk中引入MockView的軟件思維

發(fā)現(xiàn)問題

??????最近我在讀Android WebView源碼時候,發(fā)現(xiàn)

public class WebView extends MockView {

    /**
     * Construct a new WebView with a Context object.
     * @param context A Context object used to access application assets.
     */
    public WebView(Context context) {
        this(context, null);
    }

但是我記得上一次看WebView時粥庄,它父類是AbsoluteLayout丧失,還帶有一些用法的注釋,那么這里的MockView是什么鬼惜互?
??????我又仔細(xì)看了下布讹,發(fā)現(xiàn)在最新Android sdk android-28中科侈,它是繼承MockView, 里面只有接口沒有具體實現(xiàn)炒事,但是低版本的sdk比如android-27 android-26它都是正常的臀栈,為什么呢?本文就探討下這個問題挠乳。

原因調(diào)查

??????MockView:mock防制权薯、虛假,也就是說這是一個虛假的View睡扬。What? 更糊涂了 去Android dev查下盟蚣。
??????MockView:Basic view that can draw a label (by default the view id), along with diagonals. Useful as a temporary mock view while building up a UI.基本意思是說,它是用戶創(chuàng)建一個UI時用的臨時的卖怜、仿制的基本View J嚎!B砜俊奄抽??甩鳄?依舊霧水一頭逞度。
??????百度+谷歌+問大佬一波,有同學(xué)表示在單元測試時候妙啃,聽過這個Mock档泽,Mock測試框架可以將這些測試依賴的對象虛擬化,我們不必創(chuàng)建一個真實對象就可以進(jìn)行調(diào)用測試揖赴。它主要作用是模擬一些在應(yīng)用中不容易構(gòu)造或者比較復(fù)雜的對象馆匿,從而把測試與測試邊界以外的對象隔離開。
??????唉燥滑,有點意思了! 又看了波大神的文章:https://www.telerik.com/blogs/why-mocking-matters渐北,終于搞明白了,谷歌是利用Mock的思想創(chuàng)建了這個MockView突倍。我們知道谷歌發(fā)布的Sdk其實只是為了提供App開發(fā)運行接口腔稀,實際運行時候替換為當(dāng)前系統(tǒng)的Sdk。具體說就是當(dāng)谷歌在新的系統(tǒng)(Framework)版本上準(zhǔn)備對WebView實現(xiàn)機制進(jìn)行改動羽历,同時又希望把新的sdk提前發(fā)出來焊虏,不影響用到WebView的App開發(fā),于是谷歌提供給Android開發(fā)的sdk中讓W(xué)ebView繼承自MockView秕磷,這個WebView只是暴露了接口诵闭,沒有具體實現(xiàn);這樣當(dāng)谷歌關(guān)于WebView新的實現(xiàn)做好,利用WebView疏尿,app也就做好了瘟芝,perfect!褥琐!

啟迪與思考

?????? Mock是一種把合作雙方工作解耦合的方法锌俱。合作時候雙方把合作通道、接口制訂好敌呈,并首先讓合作接口能夠返回一些虛擬的數(shù)據(jù)贸宏,這樣合作雙方就能夠互不影響開發(fā)進(jìn)度。比如App和服務(wù)器交互的時候磕洪,先定義好接口后吭练,服務(wù)器寫好接口后就暫時寫好返回數(shù)據(jù)(假的),然后雙方開始自己開發(fā)不受影響析显。這種思想不僅對我們軟件技術(shù)開發(fā)很有幫助鲫咽,對其他工作也有指導(dǎo)意義,我們在與人合作完成一件事時候谷异,要首先弄清楚如何合作分尸,其次先把對方有影響的事盡量做好,最后才是自己獨立部分晰绎,這樣合作雙方工作能夠最大程度不影響對方進(jìn)度寓落。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末括丁,一起剝皮案震驚了整個濱河市荞下,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌史飞,老刑警劉巖尖昏,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異构资,居然都是意外死亡抽诉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門吐绵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迹淌,“玉大人,你說我怎么就攤上這事己单“η裕” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵纹笼,是天一觀的道長纹份。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么蔓涧? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任件已,我火速辦了婚禮,結(jié)果婚禮上元暴,老公的妹妹穿的比我還像新娘篷扩。我一直安慰自己,他們只是感情好茉盏,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布瞻惋。 她就那樣靜靜地躺著,像睡著了一般援岩。 火紅的嫁衣襯著肌膚如雪歼狼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天享怀,我揣著相機與錄音羽峰,去河邊找鬼。 笑死添瓷,一個胖子當(dāng)著我的面吹牛梅屉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鳞贷,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坯汤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了搀愧?” 一聲冷哼從身側(cè)響起惰聂,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咱筛,沒想到半個月后搓幌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡迅箩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年溉愁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饲趋。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡拐揭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奕塑,到底是詐尸還是另有隱情堂污,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布爵川,位于F島的核電站敷鸦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扒披,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一值依、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碟案,春花似錦愿险、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鳖目,卻和暖如春扮叨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背领迈。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工彻磁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狸捅。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓衷蜓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尘喝。 傳聞我的和親對象是個殘疾皇子磁浇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫窘问、插件竟稳、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,104評論 4 62
  • 時間過得真快,轉(zhuǎn)眼間來北京出差一個月了梦抢。出差過程中鞍匾,除了工作的忙碌交洗,我也有了新的體驗和感受。每天早上坐半個多小時的...
    _桑榆未晚_閱讀 334評論 0 0
  • 吹啊吹啊我的驕傲放縱~
    T久處不厭閱讀 231評論 0 0