我已经按照 Scrum、TDD、领域驱动设计和 Bob 叔叔的食谱工作了一年。但我对我们是否应用了各种原则有一些疑问,主要是在阅读 Martin 的系列中的“Java 应用程序架构”(从现在的 JAA)时. 如果我错了,请纠正我!(希望我是)问题从 TDD 和 Scrum 开始,指出一旦需求出现,我们应该改进系统来实现需求,避免前期设计。这使我的工作使所有可扩展点保持打开状态,(ab)始终使用各种可扩展性模式。这确实有一个“阴暗面”:增加了整个系统的复杂性。我事先不知道我的代码的某个部分是否需要进一步发展。
但是,正如在各处正确说明的那样(在 JAA 上确实经常如此),您应该仅在需要时添加复杂性。这个恕我直言的结论是,应该进行体面的前期分析......与其他食谱相冲突......
因此循环.... aaargh 我讨厌循环依赖!
在“确认”一个特性之后,我们是否应该重构事物以降低复杂性?我们是否应该使用允许的最简单的方法,并且仅在需要时扩展它?例如,当您不需要它们时,不要构建超级解耦的东西吗?
(欢迎任何改进问题风格和内容的建议,我是stackoverflow的新手)