嘿伙计们,你们很多人都知道上周我用 golang 编写了一个基于express js 的微型 Web 框架,我没想到这篇文章会吸引这么多人,其中一些人你问我,下一步是什么,我对这个框架有什么期望?
官方存储库
我承认,一开始我什至不知道接下来的步骤是什么,也不知道我对这个框架的期望是什么,但我花了一周的时间思考如何改进它并提出了一些想法。
第一个想法和第一步是改变项目架构,以增加项目的可扩展性我认为,这个项目的理想架构是什么,由于某些原因我更喜欢选择六边形架构来实现它与项目大会一起去。但出于什么原因呢?
核心和适配器之间的分离使框架更能适应变化。使用六边形架构的 GopherLight:
可扩展性和演进:可以通过适配器和端口添加新特性和功能,在不改变业务逻辑基础的情况下演进系统。
由于我很好地模块化了框架代码,我们可以通过构造可根据需要替换的适配器来从六边形设计中受益:
中间件可以开发为适配器,使得在不修改框架核心的情况下更容易添加新的中间件。
六边形架构定义了清晰的接口和扩展点,方便第三方插件的集成,而不会有破坏主系统的风险。
这就是架构的样子。
├──核心/
│ ├── 处理程序/
│ ├── 接口/
│
├── 港口/
│ ├── 要求/
│
├── 适配器/
│ ├── 路由器/
│ ├── 插件/
│ ├── 中间件/
│
└── 记录器/
我还计划添加对代理的支持,例如 Socks5,使用标准库可以轻松创建新的传输对象、传递您想要的任何内容并添加代理支持,这对于可能在另一台计算机上运行的 API 非常有用,也许稍后来自负载均衡器甚至堡垒服务器。
另一件非常重要的事情是文档,我正在使用支持 markdown 的 astro js 模板创建文档,所以我非常感谢任何可以帮助我完成这部分文档的人,我想说这是其中之一最重要的部分。主要是因为新人每天都在学习这个框架,而我几乎还没有记录任何东西。对于任何有兴趣帮助我维护这个项目、扩展这个项目的人,我在不和谐上创建了一个服务器,您可以在其中提供帮助、提供提示、互动和其他一切,这是链接:链接。
如果我们遵循这 3 个步骤,我们将越来越多地扩展这个框架。感谢所有阅读本文的人。
以上是现在,下一步是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!