1)接口类 -> 抽象类 -> 实例对象
2)模板类 -> 实例对象
3)采用Client抽象功能角色(实现解耦)
FrameLoader FrameLoaderClient FrameLoadClientQt
4)专注于管理特定对象和数据Manager
CookieManager、MessageManager、EventManager
5)过程控制抽象Controller
TabController、UIController、BrowserController、BookmarkController、PreviewController
6)行为监听抽象Listener
addListener、removeListener、监听者与被监听者的通信关系
eg.男人是女人表情的Listener,根据表情变化,男人会有不同的响应
7)Listener VS Client
8)Handler/Dispatcher
异步通信和事件分发的模型
9)Node、QObject、RenderObject
基类描述一个体系的基类对象的设计(属性、事件、特性、行为定义)
10)命名规范(由名称可推出层次、功能)
render_frame.cc
render_frame_impl.cc
browser_frame.cc
browser_frame_impl.cc
11)线程设计
Thread、ThreadData、ThreadManager
12)View体系设计(QWidget、View、CView)
事件驱动机制、事件分发机制、事件过滤器、msg/handler定义
13)V8层次
用户 | api层 | V8命名空间 | V8::internal空间