本周推荐书籍为《领域驱动设计》,这是一本主要面对软件开发人员的书籍。那大家肯定会说我们的大多数的人都不是软件开发人员,很好奇我推荐给大家的理由是什么呢?
我推荐给大家的是这本书的绪言写的太棒了。绪言中明确清晰的写明了本书编写的框架,编写的手法,更重要的是前言中对面向不同读者的阅读建议。
IT中常见的不要求完美的迭代开发方式相信大家无论在任何行业都是了解一二的,但是在现在这个追求快速发展的时代,如何能让迭代设计出的反应迅速的小的模块整合而成的大的软件产品跟的上大家的需求呢?在快速和敏捷设计的过程中有两个概念是要兼顾的,第一个是极简主义,这个所谓的简单并不是说单纯的简单,因为它在迭代过程中会持续重构,第二个概念就是可扩展性,软件设计的底层逻辑是可以支撑持续重构的,所以就要求软件设计人员有一个前瞻性和全局的概念,考虑后面的开发要求。
领域驱动设计的实质就是消化吸收大量知识,最后产生一个反映深层次领域知识,并聚焦于关键概念的模型。这是领域专家与开发人员的协作过程领域专家精通领域知识,而开发人员知道如何构建软件。由于开发过程是迭代式的,因此这种协作必须贯穿整个项目的生命周期。
推荐1 框架
本书的框架非常清晰地展示了起源于IT行业的敏捷项目管理的逻辑。
本书的第1部分写出了,欲驱动开发的基本目标,然后定义了一些术语,并给出了领域模型来驱动和沟通设计的总体意义,朗读这本书的人非常清晰,目标和为什么要做这个事情?
第2部分的话就是给出一些领域建模中的一些最佳实践提炼的构造块。让团队有共同的工作语言,使团队成员之间更容易理解彼此的工作,在讨论模型和设计决策过程中更容易达成一致。
在这个过程中的话每一个模型可以进行一些小规模的仔细设计,追求在某些个别元素上的极致设计,形成自己的特色。
第3部分讲的就是通过重构来加深理解,讨论如何将构造块装配为使用的模型,从而实现其价值。
第4部分战略设计,讨论在复杂系统和大型组织,以及外部系统和遗留系统的交互中出现的一些复杂情况。这一部分讨论了作为一个整体应用于系统的三条原则:上下文、提炼和大型结构。
综上所述,先设立目标,理清概念,而后统一工作语言,工作需求,然后具体实施,分模块或团队去设计,最后再战略整合,这是一个完整的企业管理的决策流程,不仅仅是一个软件设计的一个流程,适用于非常多的项目管理场景。
尤其是第4部分的战略设计中提出的三条原则,和我们在企业中做企业战略的逻辑是完全一致的。
推荐2 对读者的分析与本书写法
这一部分明确的写出了针对不同读者,大家所需要的学习方法和阅读方法。最基础的软件开发人员,到中层的软件开发团队的管理人员,再到高级的管理人员,每种人读者在前沿过程中都给出了一个非常清晰的阅读指导。
有的人需要通读,有的人需要略读,有的人只需要读其中重点的几章。
从我作为一个销售背景的人出身来看这部分的内容,万分欣喜。写这本书的团队也好,个人也好完全遵循了他在第4部分介绍的战略设计的这个要求,他看了他的上下文(读者调查)、提炼(将读者进行清晰分类)和大型结构(在写之前就兼顾了各种不同读者的阅读需求与阅读习惯)。然后通过记叙体的方式呈现出来,读者可以从头开始读也可以从任意一张的开头开始阅读。所以也无怪乎本书成为后来很多书的参照书籍了。











网友评论