过去,我的项目变得难以管理,尤其是当我必须在几年后重新访问以重做或对某个部分进行重大更新而不必重做所有内容时。这一次,我将重点放在使“可插拔”应用程序设计变得容易和可能,以允许我重新访问和重做一个部分,而无需触及所有内容。
我在想这个结构:
所以我想要的是能够在有界上下文 2 上工作,并在未来几个月/几年内使用许多新功能扩展它,而有界上下文 1 保持原样。我还将处理 UI,尤其是与限界上下文 2 相关的部分。我还想让用户能够在其他设备上使用限界上下文 2。
最好甚至在有界上下文 2 的 UI 中使用的 Web 技术也会更新,因为这是我们的主要关注领域并且使用最多,因此将其放入自己的 Web UI 项目中并拥有一个“登陆”网站,提供管理用户和让用户登录等常用功能。
现在我正在考虑将所有这些分离到 Visual Studio 中的单独解决方案中以简化管理。但是我可以为每个解决方案创建一个文件夹,然后将所有内容放在那里。
我的问题是推荐的方法是什么,在分成不同的解决方案之前我应该考虑什么?
有没有关于如何管理这个的最佳实践?有经验的人吗?
顺便说一句:由于这是由有界上下文划分的,因此系统的各个部分之间需要进行通信,尽管没有直接依赖关系(即上下文 1 管理和维护用于注册员工的业务逻辑,这在上下文 2 中再次需要)。
更新 我意识到需要更多信息。
有界上下文比这两个多。它们都不像一个部门,即员工管理是当他们需要组织/归档与管理他人相关的信息并获得重要事件提醒时的上下文管理器。采购是员工在为一个部门购买商品并进行库存时所处的环境,可能有 20-40 个组织部门使用它。我正在考虑“报告”是否是一个单独的有界上下文(尽管没有非常有趣的逻辑和行为)。这些往往从提供基本功能的小规模开始,然后随着更多功能的添加和人们“发现”新的需求而增长。它们是单独更新的,我希望它们中的一些能够及时成长为更大的系统,即使它们开始解决相当基本的需求。