关于 SynthKernel
SynthKernel 是一个 TypeScript 软件架构,帮助您编写高效、清洁和模块化的代码。
SynthKernel 的典型实践包括一个模块加载器类和多个模块类:
- 模块加载器类管理模块生命周期,编排类型,并在应用逻辑表面充当门面。
- 所有模块类继承自
BaseModule类,它们定义 API、执行实际逻辑、增强加载器类并通过依赖注入相互连接。 - 类型通过泛型编排解析。
- 模块组合到加载器中形成一个应用。模块加载器也可以是父加载器的一个模块。
- 它适用于几乎所有的用例,包括但不限于后端服务、复杂自动化、CLI 应用和 Canvas 渲染引擎。
文件系统约定
SynthKernel 应按照树形结构组织。
一个加载器连同所有直接模块应平放在同一个文件夹中:
- 容纳加载器的文件应命名为
index.ts - 基础模块命名为
BaseModule.ts - 类型命名为
types.ts - 所有模块命名为
(帕斯卡命名的模块名).ts - 其他文件的命名没有限制
标准实践是将一个过于臃肿的模块转换为新的加载器-模块结构,然后只需将该模块转换为一个文件夹,满足上述相同要求。
何时使用
- 在开发的早期阶段,当你对逻辑有线索但尚未编写任何代码时。
- 你没有清晰的架构约定。
- 在重构期间,当你打算拆分一些大型模块或使项目模块化时。
- 当你正在添加新功能并考虑创建新模块时,想要了解 SynthKernel。
何时不使用
- 你不应该创建或更改架构。
- 你正在开发具有自身约定的 Web UI。
- 你正在为简单项目(代码行数 < 200)服务,此时经典单体结构更加方便。