【腾讯TMQ】【浅谈Chromium中的设计模式(一)】——Chromium中模块分层和进程模型

背景

“EP”(中文:工程生产力)是目前项目中提升研发能力的一个很重要的衡量指标。笔者重点学习了Chromium产品是如何从代码和设计层面来保证快速高效的工程生产力。本文就是基于此背影下关于Chromium的设计模式的一部分总结。

Chromium中模块分层和进程模型

任何好的架构就要做到模块之间高内聚,低耦合,并符合SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)的设计原则。Chromium作为一个优秀的开源工程,我们一起来看下其架构的主要特点。

Chromium作为一个优秀的开源工程,其架构特征最明显的模块分层和采用了多进程的模型,这样就可以解决模块依赖问题,不断的发展高内聚、低耦合的层次和组件,并且使用DEPS(代码管理工具)进行保障。其基本的设计原则就是底层模块不能依赖高层模块,但是可以调用他们的接口API。

1 模块分层

Chromium被分成了三部分:Browser,Renderer和Webkit。其中Browser是主进程,代表了所有的UI和I/O。Renderer就是浏览器里面每个tab的子进程。Renderer内嵌Webkit做渲染和布局。(进程模型可参考1.2部分和Chromium官方文档)。

下面图是官方的模块层级图:

下图就是简化版本的模块层级图:

其中Content仅负责加载网页的核心代码提供WebPlatformFe

你可能感兴趣的:(测试分析)