目錄 / Table of Contents

領域根與協作者地圖(v0.0.1)

本文件是 god-class/大型 partial 的完滿基線地圖:說明哪些型別以 façade + 協作者/partial 邊界維護,禁止再以機械 Split-* 切檔。

原則

  1. 公開型別可為 façade;重邏輯進 engine/collaborator/partial 領域檔
  2. 單檔 > ~1000 行或跨檔總量 > ~2000 行時,優先抽協作者,而非再切無意義 partial。
  3. 診斷:pwsh eng/Analyze-PartialSplits.ps1pwsh eng/List-LargeCsFiles.ps1
  4. 歷史腳本僅在 eng/historical-refactor/,預設不重跑。

已收斂的重大邊界(v0.0.1)

領域 公開/根型別 協作者或 partial 邊界
封裝 I/O OdfPackage Loading/Saving/Encryption/Collaborators/Transaction
封存寫入 OdfPackageArchiveWriter 本體 ZIP 路徑;.Streams 池化串流;.FlatXml Flat 序列化
文件生命週期 OdfDocument Lifecycle/Merge/Metadata/Signatures/Collaborators
試算表 OdfTableSheetSpreadsheetDocument ObjectBinding/Formulas/Charts/RangeDepth 等
表格 DOM TableTableElement .Table 結構;.Import 匯入;.Sparse 稀疏分頁;.CellViews 檢視
串流郵件合併 OdfStreamingMailMerge 本體;.Segments.ExpressionCache
文字 TextDocument TrackChanges/FormFields/Html*/Collaborators
在地化 OdfLocalizer JSON Compliance/i18n → 產生 Exceptions.<culture>.cs
Schema Odf*OfficialSchemaProvider(1.0~1.4) 產生碼;多版內建以利 ODF 封存/存量流通非目標拆成可選 NuGet(見 maintainability.md「Schema 與流通性」)

刻意保留的大型面

項目 原因
OdfElement 屬性/值 partial Schema 驅動屬性面,KEEP
OdfElementSchemaRegistry.* 枚舉 token 註冊,KEEP
產生 DOM 包裝 規格覆蓋代價;不可手改 .g.cs
多版 Official Schema Provider ODF 實際流通跨版本;體大 ≠ 應拆包

後續僅在「改到該區」時小步抽取

  • OdsStreamWriter 熱路徑已共用 OdfRawXmlWriter;再拆以功能邊界為準(見 human-agent-maintainability.md 審查表)。
  • TextDocumentBuilderSpreadsheetDocumentBuilder 等 builder 維持高階 API 聚合。
  • 多可選參數高頻面改以 options 物件收斂(OdfRichTextRunOptionsOdsRowWriteOptionsOdfValidationOptions),不是靠切檔解決。

相關