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

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/

推荐阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 2,944评论 1 15
  • 「学英语」的重要性已不言自明,「写工具」则是新人从小鲜肉成长为老师傅的捷径。本文在推荐一些优秀的 Mac 词典软件...
    猫哥学前班阅读 2,282评论 2 26
  • "这是剧变的中国,人和食物比任何时候走得更快,无论他们的脚步怎样匆忙,不管聚散和悲欢来得有多么不由自主,总有一种味...
    马不理馒头阅读 131评论 0 2
  • 让自己变得强大,让工作来找你…… 想做什么,赶紧的,我们正在慢慢变老…… 家,爱的港湾,一定要认真呵护√ 幸运儿并...
    香橙是怎么变甜的阅读 48评论 0 0
  • 2017-01-04 2016年总共读了84本书,比2015年的多了38本。2015年是平均一周一本吧,2016年...
    核好柿阅读 65评论 0 0