建议:即使对XP不感兴趣,也应该认真地思考三个方面的技术实践:持续集成、驱动测试开发和重构
1. 从领域层开始
1)事务脚本模式最简单,适合于在关系数据库之上构建;领域模型需要非常专业的技术,还有鱼数据库的连接;表模块模式折中,在.Net这类有非常强大记录集支持的环境非常合适
2)理论上,可以根据架构来选取工具;实践中,可以让架构和工具相匹配
2. 深入到数据源层
1)事务脚本的数据源:
可供选择的数据库模式为:行数据入口和表数据入口,两者之间选哪个取决于实现平台的方便以及系统未来的发展方向(如:开发平台所包含的工具,比如支持记录集合工具)
2)表模块的数据源:
有一个良好的记录集框架 -> 与表数据入口模式配合得天衣无缝
3)领域模型的数据源:
如果模型相当简单(如只有十几个与数据库相关的类),则活动记录即可;
如果希望耦合更松一些,可以用表数据集入口或行数据入口;
当更复杂性时,可以考虑使用数据映射器(工作单元模式取作用)
3. 表现层
1)如果情况允许,尽可能使用html而不是胖客户界面;
2)如果走html路线,使用mvc;
3).net使用页面控制器 + 模板视图,Java使用前端控制器 + 模板视图;
4)站点面向文档,使用页面控制器,复杂情况下可考虑使用前端控制器;
5)视图选择:模板视图(服务器页面)、转换视图(XSLT)
4. 一些关于具体技术的建议
5. 其他分层方式