在TDD或迭代模式下构建应用程序是否具有最优选的设计模式?
我认为这个问题可以改写,所以用这些词语更有意义:
"在使用测试驱动和增量开发策略时,哪些架构模式和策略对于实现灵活性非常有用?"
我的答案是:帮助你分离你的clases和组件的模式,例如:
控制和依赖注入的反转 - 帮助您保持类和组件之间的依赖关系与特定实现分离,这些实现在运行时(或启动时)之前被解析,允许使用存根来实现尚未实现的功能和单元测试.
Facades - 帮助您隔离组件,为它们之间的交互提供明确定义的接口,减少耦合.
工厂和其他创建模式 - 它们为您提供了负责实例化对象的代码部分的灵活性.
还要记住,增量和迭代开发的咒语之一是"尽可能最简单的事情".不要过度工程.
根据你的要求,它是否有意义?