MVC向DCI架构转变:敏捷开发中的结构本质

需积分: 10 2 下载量 91 浏览量 更新于2024-09-07 1 收藏 583KB PDF 举报
本文《MVC to DCI:迈向敏捷世界的架构转变》由James O. Coplien撰写,发表在博客oojdon.iteye.com上。文章探讨了传统软件开发中的架构模式(如MVC)与现代敏捷方法论(如Scrum和XP)之间的关系,以及随着技术发展对架构理解的深化。 首先,作者指出,架构不仅仅是形式的结构,它是软件系统的核心本质,关注的是结构如何隐藏并组织功能。"Lean architecture"强调的是功能的即时交付和资源的按需投入,确保形式仅服务于功能的实际需求。这与敏捷开发的理念相契合,它提倡快速响应变化、用户参与以及功能的易理解和可发现性。 然而,在上世纪80年代,过度依赖CASE工具(计算机辅助软件工程工具)导致了误导性的实践,这些实践催生了早期的敏捷理论,尽管在90年代初和过去十年的敏捷实践中,如Scrum和XP,对预先确定的需求和架构有一定程度的摒弃。取而代之的是,开发者与客户之间建立起更灵活的对话机制,以及一系列短期概念的涌现,比如“比喻”和测试驱动开发(TDD)。 然而,近年来的经验和研究都证实了架构在软件开发中的价值,尤其是在维持高速度和稳定性方面。这意味着即使在敏捷环境下,架构的重要性并未减少,而是需要一种能适应变化、支持迭代和持续改进的方式。作者认为,MVC(模型-视图-控制器)架构模式可能不再能满足敏捷时代的复杂性和动态性,因此提出了将架构转换到Data-Centric Infrastructure (DCI)的可能性。 DCI是一种将数据视为核心,并围绕数据设计系统的架构,这使得系统更加灵活,能够更好地处理复杂业务逻辑和变化。通过DCI,架构更侧重于数据流动和交互,而不是预设固定的组件或视图,从而更符合敏捷开发中强调的灵活性和响应性。 总结来说,文章呼吁在敏捷世界中重新评估和定义架构的角色,特别是在MVC框架之外探索DCI这样的新兴理念,以更好地支持软件开发的快速迭代、持续交付和客户满意度。同时,作者提醒业界不应完全抛弃传统的架构思考,而是要在敏捷实践和长远的系统稳定性之间找到平衡。