什麼是類別圖?
類別圖是 UML 結構圖,用於對物件導向系統的靜態結構進行建模。它們顯示類別、屬性、方法以及它們之間的關係(繼承、關聯、組合、聚合)。類別圖作為軟體架構的藍圖,幫助開發人員在編寫程式碼之前視覺化系統設計。
編輯與預覽
使用 Mermaid 語法創建 類別圖,即時查看效果。
常見使用場景
軟體架構規劃
在實作之前設計應用程式的結構。定義類別、職責以及它們如何互動以建構可維護、可擴展的系統。
物件導向設計
建模繼承層次結構、介面和抽象類別。視覺化多型性、封裝和設計模式,如工廠、單例或觀察者模式。
程式碼文件
產生現有程式碼結構的視覺化文件。幫助新團隊成員快速理解複雜的類別層次結構和依賴關係。
資料庫架構規劃
將物件模型映射到資料庫表。在實作 ORM 模型或資料庫架構之前識別實體、關係和基數。
核心功能
類別結構定義
定義類別名稱、帶有可見性修飾符(public、private、protected)的屬性,以及帶有回傳類型和參數的方法。
關係類型
使用適當的 UML 表示法對繼承(泛化)、關聯、聚合、組合和依賴關係進行建模。
介面和抽象類別
使用標準 UML 約定和構造型區分具體類別、抽象類別和介面。
多重性和約束
指定關係基數(1..1、1..*、0..*)並新增約束或註釋以闡明業務規則和設計決策。
最佳實踐
從核心類別開始
從最重要的領域實體開始,逐步新增支援類別。不要試圖一次對所有內容建模。
使用適當的可見性
用適當的可見性標記屬性和方法:+ 表示公開,- 表示私有,# 表示受保護。這記錄了封裝決策。
顯示相關關係
只包含有意義的關係。不是每個類別互動都需要顯示——專注於架構意義。
保持圖表專注
為不同的子系統創建多個較小的圖表,而不是一個龐大的圖表。每個圖表都應該講述一個清晰的故事。
探索其他圖表類型
流程圖
使用節點和方向箭頭視覺化流程、工作流程和演算法。非常適合商業流程和決策樹。
時序圖
記錄不同角色或系統之間隨時間的互動。適用於 API 文件和系統設計。
狀態圖
呈現系統或應用程式中的狀態轉換。非常適合建模生命週期狀態和工作流程。
甘特圖
規劃和追蹤專案時程及任務依賴關係。非常適合專案管理和排程。
ER 圖
設計包含實體和關係的資料庫架構。適用於資料庫建模和文件。
使用者旅程
繪製使用者在各接觸點的體驗和互動。非常適合 UX 設計和顧客旅程分析。
Git 圖
視覺化 Git 分支策略和提交歷史。有助於說明版本控制工作流程。
心智圖
組織創意、腦力激盪和建立層次化視覺結構。適合規劃和知識管理。
圓餅圖
以圓形圖表展示資料比例分布。適合顯示百分比和市場份額分析。
時間線
沿時間軸視覺化事件和里程碑。適合專案歷史和路線圖展示。
看板
將任務按工作流階段組織到欄中。適合敏捷專案管理和任務追蹤。
四象限圖
在雙軸網格上繪製項目進行比較和優先順序排定。適合功能優先順序和策略分析。
桑基圖
用比例箭頭視覺化節點間的流量。適合能源流、預算分配和轉化漏斗。
XY 圖表
建立帶有可自訂座標軸的長條圖和折線圖。適合資料視覺化和趨勢分析。
區塊圖
用行列排列的區塊建構結構化佈局。適合系統架構和元件概覽。
架構圖
使用服務圖示和連線設計雲端和系統架構。適合基礎設施文件。
封包圖
視覺化網路協定封包結構和位元級欄位佈局。適合網路協定文件。