这个部分提供“技术部落”网站开发中采用的原则的信息。
组件封装
为了提供一个简单的从软件架构到代码的映射,代码的封装结构反映了“组件封装”的规约,而不是“层封装”。
这意味着把代码库划分为多个组件,每个组件有:
- 一个定义好的公开接口;
- 强隔离(即所有实现细节都尽可能封装保护);
- 名为components.xml的Spring配置文件来进行配置和将组件接入系统其他部分。
自动化测试
自动化测试策略是进行自动化的单元和组件测试。
- 单元测试:这些是对单个类或孤立方法执行的运行快速,非常小的测试。示例请看techtribes-core的单元测试3 。
- 组件测试:为避免破坏隔离,组件作为单一单元来测试,而不是仿造数据库连接来对组件内部进行测试。示例请看techtribes-core的组件测试4 。
3 https://github.com/techtribesje/techtribesje/tree/master/techtribes-core/test/unit
4 https://github.com/techtribesje/techtribesje/tree/master/techtribes-core/test/component
配置
组件所需的全部配置都放到外部的Java properties文件中,存放在部署文件之外,由构建流程创建。这意味着构建版本无需修改就能从开发、测试迁移到生产环境。
Spring自动装配
只在“技术部落”的Web层部分(techtribes-web5 )使用Spring自动装配,将组件注入到Spring MVC控制器。
5 https://github.com/techtribesje/techtribesje/tree/master/techtribes-web