我处于必须从头开始设计和实施系统的情况。我有一些关于架构的问题,希望得到您的评论和想法。
关于项目的快速信息:它是一个以数据为中心的 Web 应用程序。
该应用程序将构建在带有 MS SQL SERVER 2008 数据库的 Microsoft .NET Framework 4.0 之上。
要求:
- 丰富的用户界面和强大的
- 多设备支持(每个浏览器和每个设备上)
- 松耦合
下面是我构建的架构图:
架构简介
- 表示层:HTML5/ASP.NET MVC + JQuery(第一版支持多设备的Web应用程序)
- 分布式服务:WCF (XML/JSON/JSONP)
- 领域层(业务层):所有业务逻辑
- 数据持久性(DAL 层):Entity Framework 4.0 与数据库优先方法。POCO 实体是使用 T4 模板生成和分离出来的
- 基础设施层:包含常见的库,如 POCO 实体、异常处理、日志记录等
我的担忧:
- 由于应用程序将被构建为松散耦合,因此如果未来业务需求增长,新模块可以轻松插入而不会影响架构。所以我想到了将存储库模式与 IoC 和 DI 一起使用(可以是 Unity/Ninject/Sprint.NET 或任何其他)
- 支持 XML 和 JSON 的 WCF
- 用于放置 IoC 和 DI 的分布式服务层
- 使用 Enterprise Library 5.0 进行异常处理和记录
寻找有价值的意见和建议。如果我做错了什么,请让我朝着正确的方向前进。