我的团队正在讨论我们开展项目的未来方向.一半的团队相信纯粹的3层架构,而另一半则倾向于采用双层架构.
项目假设:
企业业务应用
用户和数据库之间需要业务逻辑
必要的数据验证
面向服务(更喜欢RESTful服务)
多年维护计划
支持数百名用户
3层团队的优惠:
持久层<==>域层<==> UI层
至少持久层和域层之间的服务边界.域层可能在它之间具有服务边界.
每层之间的翻译(清洁DTO分离)
除非我们能够找到创意而优雅的自动化,否则手动持久
2层团队的优惠:
实体框架+ WCF数据服务层<==> UI层
业务逻辑保留在WCF数据服务拦截器中
层之间的最小转换 - 有利于更快的编码
这就是高级别的论点.我们应该考虑哪些因素?您对这两种方法有什么经验?