2001 年,17 位软件开发者在雪鸟度假村聚在一起,写下了《敏捷软件开发宣言》。当时他们可能并没有想到,这份简短的共识,会在之后很长一段时间里,持续影响软件团队的工作方式。
如今,敏捷开发已经成了多数国内软件团队的常态配置。但在实践中,敏捷常常被简化为“开会多了”“节奏快了”,而背后的理念却逐渐模糊。本文从敏捷宣言的核心思想出发,结合实际项目中的经验,梳理最常见的落地框架——Scrum,重点放在角色、事件和工件这些具体机制上,看看它们在工程层面到底解决了什么问题。
阅读全文 »
引言
在软件开发的历史中,统一建模语言(Unified Modeling Language,UML)是每个软件工程师必备的技能。最近在看一非常不错的UML相关书籍:《大象:Thinking in UML》,这本书的核心价值在于:它不仅仅教我们如何画 UML 图,更重要的是传达了一种用例驱动的建模思想。这种思想帮助我们建立从现实世界到软件设计的映射路径,让复杂系统的分析和设计变得有章可循。
阅读全文 »
引言
在软件开发过程中,代码的可维护性、可扩展性和可复用性是衡量软件质量的重要指标。随着项目规模的扩大,代码的复杂度也会急剧上升,如果没有良好的设计原则作为指导,代码很快就会变得难以理解和修改。
设计模式七大原则是面向对象设计领域经过长期实践总结出的经验准则,它们帮助开发者在设计和实现代码时做出更好的决策。这些原则并不是什么高深的理论,而是实实在在的编程实践指导。
其中,前五个原则的首字母连起来是 SOLID,代表了面向对象设计的五个核心原则。加上迪米特法则和合成复用原则,构成了完整的七大设计原则。接下来我们逐一介绍每个原则的定义、实现方式以及在实际开发中的应用。
阅读全文 »
什么是设计模式?
设计模式 (Design Patterns) 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式建立在变化点的基础上进行,哪里有变化点,哪里应用设计模式。
阅读全文 »
什么是 DDD?
领域驱动设计 (Domain-Driven Design, DDD) 是一种软件开发方法,通过将软件系统看作业务流程的反映,而非仅仅交付物。它更关注业务流程、业务术语和业务实践,技术关注点排在第二位。
核心思想:以纯净的领域模型来反映业务需求,代码即为需求文档。
阅读全文 »