我的团队正在努力创建我们的第一个 Silverlight 4 应用程序。首先介绍一下实际项目的一些细节。它将是 Silverlight 4,旨在运行 Out-oF-Browser,我们将使用 WFC 和我们自己的 Dataobjects 实现来提供数据服务。(没有实体框架、LINQ-to-SQL 等)。我们有一些顾问正在推荐一个包含超过 11 个单独项目的解决方案结构。对我们来说,似乎没有理由这样做,任何人都可以看到为什么可能需要类似以下内容的任何理由吗?
- Project.Client - 资产、样式、视图
- Project.Common - 转换器、助手
- Project.Data - 未知用途(客户项目)
- Project.Infrastructure - 命令、常量、接口、日志
- Project.MajorFunctionA - “应用程序主要功能 A 的业务逻辑”
- Project.MajorFunctionB - “应用程序主要功能 A 的业务逻辑”
- Project.MajorFunctionC - “应用程序主要功能 A 的业务逻辑”
- Project.Models - 对 WCF 服务的抽象访问
- Project.UIControls - UI 的自定义控件
- Project.UnitTests - “可能所有单元测试”
- Project.ViewModels - UI 的视图模型
- Project.Web - silverlight 应用程序的宿主项目 - 无代码
- Project.Web.Infrastructure - 数据对象和 WCF 服务
现在,我们的主要困惑是为什么我们不只是将它们命名空间以将它们分开,以及像“Project.MajorFunctionA”这样的东西,它只是应用程序的一个小组件,为什么它应该有自己的项目。(请记住,该特定功能的视图和视图模型不会存在于该项目中,而是存在于其他客户端/视图模型项目中。
我们只是在寻找一些验证,因为我看不出有任何理由。