我的团队正在讨论我们参与项目的未来方向。一半的团队相信纯粹的三层架构,而另一半则支持双层架构。我的团队应该如何决定3层架构还是2层架构?
项目假设:
- 企业业务应用程序的用户 和数据库之间需要
- 业务逻辑
- 必要的数据验证
- 面向服务(喜欢RESTful服务)
- 多年维修计划
- 对支持数百个用户
3层小组喜欢:
- 持久层< ==>域层< ==> UI层
- 服务至少持续性层之间的边界和领域层。域层可能之间有服务边界。
- 每层之间的转换(清洁DTO分离)
- 手卷持久性,除非我们能找到创意又不失优雅自动化
2层小组喜欢:
- 实体框架+ WCF数据服务层< ==> UI层
- 保留在WCF数据服务拦截器中的业务逻辑
- 层之间最小的翻译 - 有利于更快的编码
所以这是高层次的论点。我们应该考虑哪些考虑因素?两种方法都有哪些经验?
应该是社区Wiki? – CAbbott 2010-04-27 16:07:49
是的,这没有单一的答案(如你遇到过;)) – BalusC 2010-04-27 16:10:58
是的,好点。 – 2010-04-27 17:42:01