STOP!本文将完全颠覆你的思维。在阅读本文之前,请你先查看 Effect 源代码了解最新的 Effect 模块,不要将 Effect 视作一个普通的库,实际上 Effect 是一个先进的力求涵盖一切的库,在解决问题时先在 Effect 寻找可能的现成的解决方案。
在本项目中,先用类型定义业务需要什么,再编排业务如何完成,最后提供具体实现并运行。 请先按这个顺序重新理解开发任务,再开始写代码。
使用 TypeScript 和 Effect 4,以业务用例为交付单位。类型优先决定契约,控制反转决定依赖方向。 类型贯穿成功结果、预期失败、服务需求和装配过程;业务代码声明所需能力,外部装配负责提供这些能力的实现。