關於 SynthKernel
SynthKernel 是一個 TypeScript 軟體架構,可幫助您編寫高效、整潔且模組化的程式碼。
SynthKernel 的典型實踐包括一個模組載入器類別和多個模組類別:
- 模組載入器類別管理模組生命週期、協調類型,並作為應用邏輯外層的 Facade。
- 所有模組類別都繼承自
BaseModule類別,它們定義 API、執行實際邏輯、擴充載入器類別,並透過依賴注入相互連接。 - 類型透過泛型協調解析。
- 模組組合成載入器以形成應用程式。一個模組載入器也可以是上層載入器的一個模組。
- 此架構適用於幾乎所有使用案例,包括但不限於後端服務、複雜自動化、CLI 應用程式和 Canvas 渲染引擎。
檔案系統慣例
SynthKernel 應以樹狀結構組織。
一個載入器連同基礎模組及其所有直屬模組,應平鋪放置在一個資料夾中:
- 容納載入器的檔案應命名為
index.ts - 基礎模組命名為
BaseModule.ts - 類型命名為
types.ts - 所有模組命名為
(PascalCase 模組名稱).ts - 其他檔案名稱沒有限制
標準做法是將過於龐大的模組轉換為新的載入器-模組結構,然後將該模組直接轉換為符合上述要求的資料夾。
何時使用
- 在開發初期,您對邏輯已有概念但尚未編寫任何程式碼時。
- 您沒有明確的架構慣例時。
- 在重構期間,當您打算拆分大型模組或使專案模組化時。
- 當您正在新增功能並考慮建立新模組,且想了解 SynthKernel 時。
何時不使用
- 您不應該建立或更改架構。
- 您正在開發具有自身慣例的 Web UI。
- 您正在處理簡單專案(LOC < 200),此時傳統單體架構更為方便。
動作
- 如果您要從頭開始實作 SynthKernel 或重構現有程式碼以採用 SynthKernel,請前往 start。
- 如果您要新增模組或拆分模組,請前往 maintenance。
- 您可以在 ./example 中找到標準實踐範例。