敏捷性是以微小增量的方式构建软件,那么我们该如何设计软件呢?在敏捷团队中,全局视图和软件一起演化。每次迭代,团队都改进系统设计,使设计尽可能适合于当前系统。团队不会去花费许多时间去预测未来的需求和需要,也不会试图在今天就构建一些基础结构去支撑那些他们认为明天才会需要的特性。更愿意关注当前的系统结构,并使它尽可能的好。
在《敏捷软件开发:原则、模式和实践》一书中提出几种设计原则:
- 单一职责原则(The Single Responsibility Principle,简称SRP)
- 开放-封闭原则(The Open-Close Principle,简称OCP)
- Liskov替换原则(The Liskov Substitution Principle,简称LSP)
- 依赖倒置原则(The Dependency Inversion Principle,简称DIP)
- 接口隔离原则(The Interface