《领域驱动设计:软件核心复杂性应对之道(修订版)》—第1章 1.3节持续学习-阿里云开发者社区

开发者社区> 异步社区> 正文

《领域驱动设计:软件核心复杂性应对之道(修订版)》—第1章 1.3节持续学习

简介: 当开始编写软件时,其实我们所知甚少。项目知识零散地分散在很多人和文档中,其中夹杂着其他一些无关信息,因此我们甚至不知道哪些知识是真正需要的知识。
+关注继续查看

本节书摘来自异步社区《领域驱动设计:软件核心复杂性应对之道(修订版)》一书中的第1章,第1.3节持续学习,作者【美】埃里克•埃文斯(Eric Evans), 马利伟 , 万龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 持续学习
当开始编写软件时,其实我们所知甚少。项目知识零散地分散在很多人和文档中,其中夹杂着其他一些无关信息,因此我们甚至不知道哪些知识是真正需要的知识。看起来没什么技术难度的领域很可能是一种错觉——我们并没意识到不知道的东西究竟有多少。这种无知往往会导致我们做出错误的假设。

同时,所有项目都会丢失知识。已经学到了一些知识的人可能干别的事去了。团队可能由于重组而被拆散,这导致知识又重新分散开。被外包出去的关键子系统可能只交回了代码,而不会将知识传递回来。而且当使用典型的设计方法时,代码和文档不会以一种有用的形式表示出这些来之不易的知识,因此一旦由于某种原因人们没有口头传递知识,那么知识就丢失了。

15
高效率的团队需要有意识地积累知识,并持续学习[Kerievsky 2003]。对于开发人员来说,这意味着既要完善技术知识,也要培养一般的领域建模技巧(如本书中所讲的那些技巧)。但这也包括认真学习他们正在从事的特定领域的知识。

那些善于自学的团队成员会成为团队的中坚力量,涉及最关键领域的开发任务要靠他们来攻克(有关这方面的更多内容,参见第15章)。这个核心团队头脑中积累的知识使他们成为更高效的知识消化者。

读到这里,请先停一下来问自己一个问题。你是否学到了一些PCB设计知识?虽然这个示例只对该领域作了些表面处理,但当讨论领域模型时,仍会学到一些知识。我学习了大量知识,但并没有学习如何成为一名PCB工程师,因为这不是我的目的。我的目的是学会与PCB专家沟通,理解与应用有关的主要概念,并学会检查所构建的内容是否合理。

事实上,我们的团队最终发现探针仿真并不是一项重要的开发任务,因此最后彻底放弃了这个功能。连同它一起删除的还有模型中的一些部分,这些部分只是帮助我们理解如何通过元件推动信号以及如何计算跳数。这样,应用程序的核心就转移到了别处,而且模型也随之改变,将新的重点作为核心。在这个过程中,领域专家们也学到了很多东西,而且更加清楚地理解了应用程序的目标(第15章会更深入地讨论这些问题)。

尽管如此,那些早期工作还是非常重要的。关键的模型元素被保留下来,而更重要的是,早期工作启动了知识消化的过程,这使得所有后续工作更加高效:团队成员、开发人员和领域专家等都学到了知识,他们开始使用一种公共的语言,而且形成了贯穿整个实现过程的反馈闭环。这样,一个发现之旅悄然开始了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Win7系统删除网络驱动器盘符
公司项目切换服务器,之前服务器共享的盘符没法继续使用了,于是想把网络驱动器盘符图标给删掉: 删除方法: 单击「开始」,然后单击“运行”。 在“打开”框中,键入 cmd。 键入 net use Y: /delete 注意:其中 Y:是共享资源的驱动器号 命令执行完成后重启机器,搞定! 作者:jiankunking 出处:http://blo
3786 0
LDD3学习笔记(3):字符驱动1
1、scull( Simple Character Utility for Loading  Localities)的设计 Scull是一个字符驱动,它操作一块内存区域,就好像它是一个设备,因此在以下的介绍中我们可以互换的使用设备和scull操作的内存区。
708 0
智芯一号USB转串口驱动及下载软件安装
一、USB转串口驱动安装     切记,安装时不要将USB线跟开发板连接。会引起安装不成功,而卸载又难以干净!     二、下载软件的安装 下载软件为一个绿色软件,不用安装!     ...
565 0
8月14日云栖精选夜读:驱动行业未来20年发展 阿里巴巴AIR视频解说进入倒计时
2017年,阿里巴巴首次发布全球创新研究计划Alibaba Innovative Research,简称AIR。AIR计划旨在让全世界的科技人才在追逐世界的同时,用科技创造新的未来! 为了让更多参与者深入理解AIR(Alibaba Innovative Research)的研究课题,阿里巴巴近日宣布将在8月15日-16日围绕此前发布的课题进行AIR open day主题视频解说, 二十多位科研课题负责人将在视频中深度解析课题研究内容。
3339 0
【直播预告】阿里高级开发工程师红文:领域驱动设计实战--如何应对复杂业务
在互联网产品追求快速迭代上线的今天,需求多变,业务逻辑和流程繁琐冗长,代码很难维护的场景下,开发该如何在效率和优雅中平衡,今天跟大家交流“领域驱动设计”在复杂业务中的实战心得。
2002 0
目标驱动系统模式,能否成为实现人工通用智能(AGI)的关键?
组织开发AI方案时采取的一大核心模式,正是目标驱动型系统模式。与其他AI模式一样,这种形式的AI能够解决一系列原本需要人类认知能力才能处理的常见问题。
713 0
《Android深度探索(卷1):HAL与驱动开发》虚拟实验环境(Ubuntu Linux)及源代码免费下载,不需要CPU虚拟化支持
由于有些同学安装随书光盘虚拟环境时发现CPU不支持虚拟化,所以我特意做了个不需要虚拟化的虚拟环境,使用Virtual Box,Ubuntu Linux10.04 LTS(4G左右) 有需要的可以下载使用。
781 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12069 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载