Über SynthKernel
SynthKernel ist eine TypeScript-Softwarearchitektur, die dir hilft, effizienten, sauberen und modularen Code zu schreiben.
Die typische Praxis von SynthKernel besteht aus einer Modullader-Klasse und Modulklassen:
- Die Modullader-Klasse verwaltet die Lebenszyklen der Module, orchestriert Typen und agiert als Fassade an der Oberfläche deiner App-Logik.
- Alle Modulklassen erweitern eine
BaseModule-Klasse, definieren APIs, führen die eigentliche Logik aus, erweitern die Lader-Klasse und verdrahten sich gegenseitig über Dependency Injection. - Typen werden über Generics-Orchestrierung aufgelöst.
- Module werden zum Lader zusammengesetzt, um eine APP zu bilden. Ein Modullader kann auch ein Modul eines übergeordneten Laders sein.
- Es ist für fast alle Anwendungsfälle geeignet, einschließlich, aber nicht beschränkt auf Backend-Service, komplexe Automatisierung, CLI-Anwendung und Canvas-Rendering-Engine.
Dateisystem-Konventionen
SynthKernel sollte in einer Baumstruktur organisiert sein.
Ein Lader zusammen mit der Basisklasse und allen direkten Modulen sollte flach in einem Ordner abgelegt werden:
- die Datei, die den Lader enthält, sollte
index.tsheißen - Basis-Modul heiße
BaseModule.ts - Typen heißen
types.ts - alle Module heißen
(Modulname in PascalCase).ts - es gibt keine Einschränkung für die Namen anderer Dateien
Es ist eine Standardpraxis, ein überfrachtetes Modul in eine neue Lader-Modul-Struktur umzuwandeln und das Modul dann einfach in einen Ordner mit denselben Anforderungen wie oben zu verwandeln.
Wann verwenden
- In der frühen Phase der Entwicklung, wenn du Hinweise auf Logik hast, aber noch keinen Code geschrieben hast.
- Du hast keine klare Architekturkonvention.
- Während Refactorings, wenn du große Module aufteilen oder das Projekt modularisieren möchtest.
- Du fügst neue Funktionen hinzu und erwägst, ein neues Modul zu erstellen, und möchtest SynthKernel verstehen.
Wann nicht verwenden
- Du sollst die Architektur weder erstellen noch ändern.
- Du entwickelst eine Web-UI, die ihre eigenen Konventionen hat.
- Du arbeitest an einem einfachen Projekt (LOC < 200), bei dem ein klassischer Monolith bequemer ist.