我知道这将是一个非常广泛的话题,但我已经到了一个点,我需要在这件事上迈出第一步。
去年年底,我开始在一家与金融服务相关的初创公司工作。它提供贷款和小额信贷服务,并计划整合数字钱包服务并增加多国业务。
在处理了支持和日常问题之后,我被分配开始重建完整的后端架构和代码库。已选择替换技术,我们将删除旧版本的 PHP 和 Laravel 代码,并开始使用 .NET Core 3.1 和 C# 语言。当然,这个想法是以渐进的方式实现的,主要是在使用 API 的客户端应用程序上替换小的功能单元。
当前的后端环境由 3 个 repos 组成:
- 自定义后台系统:PHP 7.1.33 + Laravel 5.1.46 (BE) | AngularJS (FE)
- Packages项目(第三方集成和一些业务逻辑封装):PHP 7.1.33
- Web API:PHP 7.1.33 + Laravel 5.2.45
我一直在使用已经建立的架构,所以这将是我第一次遇到这些重要的决定。目前,我读到的关于架构模式和设计模式的大量信息让我不知所措。我什至不知道从哪里开始。
除了已弃用的版本之外,我已经收集了一些关于当前堆栈存在哪些问题的信息。所以记住这一点很重要。
你会建议什么样的程序?我应该创建一些概念验证项目吗?我很难决定哪种模式、技术或库的最合适组合。
我作为开发人员的背景一直是 .NET 变体(+6 年经验),所以没有问题。但是例如,在洋葱/分层/清洁、垂直切片或微服务架构之间进行选择时,真的很难选择哪个更适合。Repository 或 CQRS 等设计模式也是如此。
我几乎没有使用 DDD 的经验(至少我知道有意识地使用它),也许这种业务是应用它的好机会。我决定开始阅读 Eric Evan 的书,但这将是一条漫长的道路。
如果需要更多信息,请告诉我。
我非常感谢您的知识和经验。