三大核心類別
- StaticControlFactory:字元掃描、控件樹建立(堆疊管理層級)。
- ParseStatusManager:有限狀態機(5 狀態),驅動解析流程,採 Command 模式解耦操作。
- StaticBaseControl:實體類,保存解析結果。
關鍵技術細節
- 堆疊維護父子關係:新控件入棧成為當前,解析完畢出棧還原。
- 狀態轉換依賴 5 種邊界字元(非邊界、開始、結束、封閉、簡短結束)。
- 特殊標籤處理:
<br>、<img>、<script>、註解等無結尾或自閉合標籤。
- 第二版重構:捨棄遞迴改用迭代 + 狀態機,邏輯清晰、除錯容易。
折中方案
僅解析自訂控件,完全忽略標準 HTML,兼顧效能與容錯,適合大多數靜態頁生成場景。