百科问答小站 logo
百科问答小站 font logo



如何评价 Chromium 项目的代码质量? 第1页

  

user avatar   xin-si-deng-long 网友的相关建议: 
      

超大型工程实践,非常高,Design Pattern用的非常美,举些栗子:

Observer :

假如你要实现 RenderFrame 的相关事件监听处理,

只需要实现 RenderFrameObserver 就可以了。

类似的Observer有: RenderThreadObserver,WebContentsObserver,RenderViewObserver 等。

Delegate :

例如 DownloadManagerDelegate , WebContentsViewDelegate ,非常方便我们自己定义很多模块化的功能,例如 Download,Plugin,Play,Media 相关等等。


Mojo IPC:

Chromium Mojo , interprocess IPC , 实现的非常经典。以后的Chromium 是微服务化的,

每个模块是独立的一个(Process/Thread),通过Mojo进行通讯。


Google V8:

真真的黑科技,各种奇技淫巧,令人叹服。


Chromium base:

task/run loop/callback/bind/smart_ptr 等, 一整套跨平台异步EventLoop实现。


Surface Service:

抽象了一个宏观的Surface,来管理聚合每一个帧(DisplayClient生成每一帧的源头),然后输出到物理设备,设计非常美。

chromium.org/developers


Blink, VIZ, LayoutNG, CAP2 很多很多。。。。。




  

相关话题

  怎样阅读 Chromium 源码? 
  Chrome for iOS 为何无法使用自主研发的 Chromium WebKit 和 V8 JavaScript 引擎? 
  Chrome for iOS 为何无法使用自主研发的 Chromium WebKit 和 V8 JavaScript 引擎? 
  如何评价 Chromium 项目的代码质量? 
  Chrome 会成为下一个 IE 6 吗? 
  如何评价Microsoft Edge ?是否为Google Chrome 套壳? 
  怎样阅读 Chromium 源码? 
  Chrome 会成为下一个 IE 6 吗? 
  Chrome for iOS 为何无法使用自主研发的 Chromium WebKit 和 V8 JavaScript 引擎? 
  怎样阅读 Chromium 源码? 

前一个讨论
为什么陆地上常见的动物都是两个鼻孔?
下一个讨论
如何看待争议颇多的(索隐派)癸酉本《红楼梦》?





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利