一旦为应用建立良好的基础设施, 后续的开发就会变得容易而快速。这些基础设施包括:
1. 线程池的建立与配置; 在 JDK 并发库的基础上建立适合于应用的多任务接口和框架;
2. 外部系统服务的 HTTP 或 RPC 调用管理;
3. 数据库连接池、消息的订阅与推送、应用缓存等的客户端接口;
4. 通过IOC框架完成组件的注册、加载与管理;
5. 应用的整体控制流的构建、前后端的交互、工程的部署结构;
6. 使用 Spring , TestNG, Mock 等建立单测框架和编写单测 ;
7. 实用工具箱的加入, 通常包括日期、字符串、Json、日志、集合、Http调用或RPC调用等;
8. 异常处理与日志的规划和使用, 写哪些日志, 放在何处。
这些基础设施通常称为工程的“脚手架”,定义了一个工程的骨架。而应用逻辑则是组成工程的血肉。
架构之于开发的作用就在于:
1. 使常规编程任务更容易更快地完成, 减少工作量, 提升开发效率;
2. 使应用更加易于维护, 因为系统功能的实现具有一致性, 新手只要学会相关模式就能很快上手;
3. 解决关键问题。 比如高并发吞吐量需求的设计与实现。
软件开发需要面对很多变化, 但是也有一些事情, 一旦最初做得更好一些, 后来的工作可以变得更轻松些。
一旦为应用建立良好的基础设施, 那些具体的业务逻辑可以交由新手来完成, 而工作重点将转移到加固和完善这些基础设施,专注于应用的领域模型的整体规划和设计。