每周学一点——Android WebView源码 抽象工厂模式

96
LiveMoment
2018.06.07 15:26 字数 252
image.png

WebViewFactoryProvider是抽象工厂接口,定义了WebView及周边功能所需要对象的创建方法,这些方法大部分为工厂方法,它们返回的对象类型是抽象的,属于面向接口的编程风格。

抽象工厂WebViewFactoryProvider创建的对象有:实现Webview核心功能的WebViewProvider,管理Cookie的CookieManager,地理位置相关的GeolocationPermissions和存储Web表单数据的WebviewDatabase等等。

WebViewChromiumFactoryProvider是抽象工厂的具体实现者,它提供“Chromium”主题的产品族,也是目前最新版本Webview正在使用的产品族。如果将来有新的浏览器引擎内核出现,那么只需按照WebViewFactoryProvider接口创建该主题下产品,然后替换现有的”Chromium”就可以完成换代,不用改动其他地方任何代码。

参考:
http://nodlee.com/2016/04/27/design-pattern-abstract-factory/
http://nodlee.com/2016/03/27/design-pattern-factory-method/

Android开发进阶