MVC向DCI架构转变:敏捷开发中的结构本质
需积分: 10 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这样的新兴理念,以更好地支持软件开发的快速迭代、持续交付和客户满意度。同时,作者提醒业界不应完全抛弃传统的架构思考,而是要在敏捷实践和长远的系统稳定性之间找到平衡。
2020-12-31 上传
2021-09-22 上传
2021-02-11 上传
2021-01-19 上传
2021-07-07 上传
2021-03-27 上传
2021-04-27 上传
2021-05-15 上传
2021-03-20 上传
weixin_38669628
- 粉丝: 386
- 资源: 6万+
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器