我正处于 WinForms 产品重写的早期阶段,我正在尝试确定实施新解决方案结构的“最佳”策略。当前的解决方案包含 50 多个项目,并且(大部分)它包含运行应用程序所需的所有逻辑。一些项目确实与存在于单独的“框架”解决方案中的项目有依赖关系,但这也正在被替换/修改。
正如我所说,当前的解决方案产生了一个 WinForms 产品。此外,一切都紧密耦合在一起,从前到后。此外,除了我们的 WinForms 产品之外,我们还希望开始提供 Web / 移动解决方案。由于所需的更改,我正在考虑将其分解为几个单独的解决方案。详情如下。
- Product.Framework 解决方案变为 Product.Core - 一组共享的程序集,包含通用接口、枚举、结构、“助手”等。
- Product.Windows - MVC 模式。包含运行 WinForms 产品所需的所有视图和业务逻辑。
- Product.Web - MVC 模式。包含运行 Web 产品所需的所有视图和业务逻辑。
- Product.Services - 可托管的 WCF 服务。包含 Web/Win/Mobile 调用底层 DAL 的公共服务层。
这是我正在寻找健全性检查的地方:我计划在 WinForms 和 Web 项目中实现 DI/IoC(我不太担心注入 WCF 服务);在我看来,在 Product.Core 解决方案中拥有所有具体实体(数据库表的表示)和服务的接口是有意义的。我可能需要对 Web 和 Winforms 解决方案中的 Product.Services 的唯一参考是向容器注册具体类型。
这有意义吗?有什么我忽略的明显的东西吗?感谢您的任何反馈!