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空間