全面的專案架構藍圖產生器,可分析程式碼庫以建立詳細的架構文件。自動偵測技術堆疊與架構模式,產生視覺化圖表,記錄實作模式,並提供可擴展的藍圖,以維持架構一致性並引導新開發。
全面的專案架構藍圖產生器
設定變數
${PROJECT_TYPE="Auto-detect|.NET|Java|React|Angular|Python|Node.js|Flutter|Other"} <!-- 主要技術 -->
${ARCHITECTURE_PATTERN="Auto-detect|Clean Architecture|Microservices|Layered|MVVM|MVC|Hexagonal|Event-Driven|Serverless|Monolithic|Other"} <!-- 主要架構模式 -->
${DIAGRAM_TYPE="C4|UML|Flow|Component|None"} <!-- 架構圖類型 -->
${DETAIL_LEVEL="High-level|Detailed|Comprehensive|Implementation-Ready"} <!-- 包含的詳細程度 -->
${INCLUDES_CODE_EXAMPLES=true|false} <!-- 包含範例程式碼以說明模式 -->
${INCLUDES_IMPLEMENTATION_PATTERNS=true|false} <!-- 包含詳細的實作模式 -->
${INCLUDES_DECISION_RECORDS=true|false} <!-- 包含架構決策記錄 -->
${FOCUS_ON_EXTENSIBILITY=true|false} <!-- 強調擴展點和模式 -->
產生的提示
"建立一份全面的 'Project_Architecture_Blueprint.md' 文件,徹底分析程式碼庫中的架構模式,作為維護架構一致性的最終參考。使用以下方法:
1. 架構偵測與分析
-
${PROJECT_TYPE == "Auto-detect" ? "分析專案結構以識別所有使用的技術堆疊和框架,透過檢查:\n - 專案和設定檔\n - 套件相依性和匯入陳述式\n - 框架特定的模式和慣例\n - 建置和部署設定" : "專注於 ${PROJECT_TYPE} 特定的模式和實務"}
-
${ARCHITECTURE_PATTERN == "Auto-detect" ? "透過分析來判斷架構模式:\n - 資料夾組織和命名空間\n - 相依性流向和元件邊界\n - 介面隔離和抽象模式\n - 元件間的通訊機制" : "記錄 ${ARCHITECTURE_PATTERN} 架構是如何實作的"}
2. 架構概覽
- 提供整體架構方法的清晰簡潔說明
- 記錄架構選擇中顯而易見的指導原則
- 識別架構邊界及其強制方式
- 注意任何混合架構模式或標準模式的改編
3. 架構視覺化
${DIAGRAM_TYPE != "None" ? 建立多個抽象層級的 ${DIAGRAM_TYPE} 圖表:\n- 高層級架構概覽,顯示主要子系統\n- 元件互動圖,顯示關係和相依性\n- 資料流程圖,顯示資訊如何在系統中移動\n- 確保圖表準確反映實際實作,而非理論模式 : "根據實際程式碼相依性描述元件關係,提供清晰的文字說明:\n- 子系統組織和邊界\n- 相依性方向和元件互動\n- 資料流程和處理順序"}
4. 核心架構元件
針對在程式碼庫中發現的每個架構元件:
-
目的與責任:
- 在架構中的主要功能
- 處理的業務領域或技術關注點
- 邊界和範圍限制
-
內部結構:
- 元件內類別/模組的組織
- 關鍵抽象及其實作
- 使用的設計模式
-
互動模式:
- 元件如何與其他元件通訊
- 公開和使用的介面
- 依賴注入模式
- 事件發布/訂閱機制
-
演化模式:
- 元件如何被擴展
- 變化點和插件機制
- 設定和自訂方法
5. 架構層與相依性
- 對應程式碼庫中實作的層結構
- 記錄層之間的相依性規則
- 識別實現層分離的抽象機制
- 注意任何循環相依性或層違規
- 記錄用於維持分離的依賴注入模式
6. 資料架構
- 記錄領域模型結構和組織
- 對應實體關係和聚合模式
- 識別資料存取模式(儲存庫、資料映射器等)
- 記錄資料轉換和映射方法
- 注意快取策略和實作
- 記錄資料驗證模式
7. 跨領域關注點實作
記錄跨領域關注點的實作模式:
-
驗證與授權:
- 安全模型實作
- 權限強制模式
- 身分管理方法
- 安全邊界模式
-
錯誤處理與韌性:
- 例外處理模式
- 重試和斷路器實作
- 備援和優雅降級策略
- 錯誤回報和監控方法
-
日誌與監控:
- 儀器化模式
- 可觀測性實作
- 診斷資訊流程
- 效能監控方法
-
驗證:
- 輸入驗證策略
- 業務規則驗證實作
- 驗證責任分配
- 錯誤回報模式
-
設定管理:
- 設定來源模式
- 環境特定設定策略
- 機密管理方法
- 功能旗標實作
8. 服務通訊模式
- 記錄服務邊界定義
- 識別通訊協定和格式
- 對應同步與非同步通訊模式
- 記錄 API 版本化策略
- 識別服務發現機制
- 注意服務通訊中的韌性模式
9. 技術特定的架構模式
${PROJECT_TYPE == "Auto-detect" ? "針對每個偵測到的技術堆疊,記錄特定的架構模式:" : Document ${PROJECT_TYPE}-specific architectural patterns:}
${(PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Auto-detect") ?
"#### .NET 架構模式(如果偵測到)\n- 主機和應用程式模型實作\n- 中介軟體管線組織\n- 框架服務整合模式\n- ORM 和資料存取方法\n- API 實作模式(控制器、最小 API 等)\n- 依賴注入容器設定" : ""}
${(PROJECT_TYPE == "Java" || PROJECT_TYPE == "Auto-detect") ?
"#### Java 架構模式(如果偵測到)\n- 應用程式容器和啟動程序\n- 依賴注入框架使用(Spring、CDI 等)\n- AOP 實作模式\n- 交易邊界管理\n- ORM 設定和使用模式\n- 服務實作模式" : ""}
${(PROJECT_TYPE == "React" || PROJECT_TYPE == "Auto-detect") ?
"#### React 架構模式(如果偵測到)\n- 元件組合和重用策略\n- 狀態管理架構\n- 副作用處理模式\n- 路由和導航方法\n- 資料擷取和快取模式\n- 渲染最佳化策略" : ""}
${(PROJECT_TYPE == "Angular" || PROJECT_TYPE == "Auto-detect") ?
"#### Angular 架構模式(如果偵測到)\n- 模組組織策略\n- 元件階層設計\n- 服務和依賴注入模式\n- 狀態管理方法\n- 反應式程式設計模式\n- 路由守衛實作" : ""}
${(PROJECT_TYPE == "Python" || PROJECT_TYPE == "Auto-detect") ?
"#### Python 架構模式(如果偵測到)\n- 模組組織方法\n- 相依性管理策略\n- OOP 與函數式實作模式\n- 框架整合模式\n- 非同步程式設計方法" : ""}
10. 實作模式
${INCLUDES_IMPLEMENTATION_PATTERNS ?
"記錄關鍵架構元件的具體實作模式:\n\n- 介面設計模式:\n - 介面隔離方法\n - 抽象層級決策\n - 通用與特定介面模式\n - 預設實作模式\n\n- 服務實作模式:\n - 服務生命週期管理\n - 服務組合模式\n - 操作實作範本\n - 服務內的錯誤處理\n\n- 儲存庫實作模式:\n - 查詢模式實作\n - 交易管理\n - 並行處理\n - 批次操作模式\n\n- 控制器/API 實作模式:\n - 請求處理模式\n - 回應格式化方法\n - 參數驗證\n - API 版本化實作\n\n- 領域模型實作:\n - 實體實作模式\n - 值物件模式\n - 領域事件實作\n - 業務規則強制" : "提及詳細的實作模式在程式碼庫中有所不同。"}
11. 測試架構
- 記錄與架構對齊的測試策略
- 識別測試邊界模式(單元、整合、系統)
- 對應測試替身和模擬方法
- 記錄測試資料策略
- 注意測試工具和框架整合
12. 部署架構
- 記錄從設定衍生的部署拓撲
- 識別環境特定的架構調整
- 對應執行時期相依性解析模式
- 記錄跨環境的設定管理
- 識別容器化和編排方法
- 注意雲端服務整合模式
13. 擴展與演化模式
${FOCUS_ON_EXTENSIBILITY ?
"提供擴展架構的詳細指南:\n\n- 功能新增模式:\n - 如何在保持架構完整性的同時新增功能\n - 按類型放置新元件的位置\n - 相依性引入指南\n - 設定擴展模式\n\n- 修改模式:\n - 如何安全地修改現有元件\n - 維持向後相容性的策略\n - 棄用模式\n - 遷移方法\n\n- 整合模式:\n - 如何整合新的外部系統\n - 配接器實作模式\n - 防腐層模式\n - 服務外觀實作" : "記錄架構中的關鍵擴展點。"}
${INCLUDES_CODE_EXAMPLES ?
"### 14. 架構模式範例\n提取代表性的程式碼範例,說明關鍵架構模式:\n\n- 層分離範例:\n - 介面定義和實作分離\n - 跨層通訊模式\n - 依賴注入範例\n\n- 元件通訊範例:\n - 服務呼叫模式\n - 事件發布和處理\n - 訊息傳遞實作\n\n- 擴展點範例:\n - 插件註冊和發現\n - 擴展介面實作\n - 設定驅動的擴展模式\n\n每個範例應包含足夠的上下文以清楚顯示模式,但保持範例簡潔並專注於架構概念。" : ""}
${INCLUDES_DECISION_RECORDS ?
"### 15. 架構決策記錄\n記錄程式碼庫中明顯的關鍵架構決策:\n\n- 架構風格決策:\n - 為何選擇目前的架構模式\n - 考慮的替代方案(基於程式碼演化)\n - 影響決策的限制\n\n- 技術選擇決策:\n - 關鍵技術選擇及其架構影響\n - 框架選擇理由\n - 自訂與現成元件的決策\n\n- 實作方法決策:\n - 選擇的特定實作模式\n - 標準模式改編\n - 效能與可維護性的取捨\n\n對於每個決策,記錄:\n- 使決策成為必要的背景\n- 決策中考慮的因素\n- 產生的後果(正面和負面)\n- 引入的未來靈活性或限制" : ""}
${INCLUDES_DECISION_RECORDS ? "16" : INCLUDES_CODE_EXAMPLES ? "15" : "14"}. 架構治理
- 記錄如何維護架構一致性
- 識別架構合規性的自動化檢查
- 注意程式碼庫中明顯的架構審查程序
- 記錄架構文件實務
${INCLUDES_DECISION_RECORDS ? "17" : INCLUDES_CODE_EXAMPLES ? "16" : "15"}. 新開發藍圖
建立清晰的架構指南,用於實作新功能:
-
開發工作流程:
- 不同功能類型的起點
- 元件建立順序
- 與現有架構的整合步驟
- 按架構層的測試方法
-
實作範本:
- 關鍵架構元件的基底類別/介面範本
- 新元件的標準檔案組織
- 相依性宣告模式
- 文件需求
-
常見陷阱:
- 應避免的架構違規
- 常見的架構錯誤
- 效能考量
- 測試盲點
包含此藍圖產生時間的資訊,以及隨著架構演化保持更新的建議。"






