image.png
WebViewFactoryProvider是抽象工廠接口绸吸,定義了WebView及周邊功能所需要對(duì)象的創(chuàng)建方法干茉,這些方法大部分為工廠方法,它們返回的對(duì)象類型是抽象的碴萧,屬于面向接口的編程風(fēng)格棵譬。
抽象工廠WebViewFactoryProvider創(chuàng)建的對(duì)象有:實(shí)現(xiàn)Webview核心功能的WebViewProvider显蝌,管理Cookie的CookieManager,地理位置相關(guān)的GeolocationPermissions和存儲(chǔ)Web表單數(shù)據(jù)的WebviewDatabase等等订咸。
WebViewChromiumFactoryProvider是抽象工廠的具體實(shí)現(xiàn)者曼尊,它提供“Chromium”主題的產(chǎn)品族扭屁,也是目前最新版本W(wǎng)ebview正在使用的產(chǎn)品族。如果將來(lái)有新的瀏覽器引擎內(nèi)核出現(xiàn)涩禀,那么只需按照WebViewFactoryProvider接口創(chuàng)建該主題下產(chǎn)品,然后替換現(xiàn)有的”Chromium”就可以完成換代然眼,不用改動(dòng)其他地方任何代碼艾船。
參考:
http://nodlee.com/2016/04/27/design-pattern-abstract-factory/
http://nodlee.com/2016/03/27/design-pattern-factory-method/