1.架构
1.1《演进式架构》和《软件架构》
他们作者都是 Neal Ford,是 Thoughtworks 的技术总监。 DDD 强调领域模型要不断演进,集中体现在《领域驱动设计》一书的第三部分“通过重构来加深理解”。领域模型的演进,很可能导致架构的演进。
《演进式架构》就是讲架构演进的原理和技巧。这本书里提到了架构的质量属性、架构模式、演进策略等内容,但展开得还不够充分。作者又和人合写了另一本《软件架构》,深入讨论了在云时代软件的架构思维、架构风格、架构模式以及软技能等话题。
1.2微服务和分布式架构
《微服务设计》是比较早的全面介绍微服务的书籍,包含了微服务的概念、设计、集成、部署、运维、开发过程以及人员组织等多方面的内容,还是很有参考价值的。
《微服务架构设计模式》从模式的角度,介绍了微服务架构的方方面面。这本书用一个贯穿始终的案例来讲,而不像多数讲模式的书那样,每个模式都是独立讲解的。
《凤凰架构》分析了构建可靠的大型分布式系统的各种架构问题,谈到每个内容时,总是会从原理讲起,也会从历史的角度梳理某个技术点的来龙去脉,甚至最早的出处。 极客时间有一门公开课《周志明的软件架构课》,看内容应该是《凤凰架构》的前身。
2.编程实践
第一本是《重构》。专门用来拯救烂代码;
第二本是《测试驱动开发》,作者是 Kent Beck。他是和 Martin Fowler 齐名的敏捷奠基人,也是极限编程的发明人之一。《测试驱动开发》是他的代表作。 与其说 TDD 是一种测试技术,不如说是一种详述需求和代码设计的技术。
第三本书是《代码整洁之道》,讲的是怎样开发出容易理解,容易维护的代码。作者是 Robert C Martin,业内管他叫 Bob 大叔。他是和 Martin Fowler、Kent Beck 齐名的敏捷软件开发大师。
3.读书心得
首先说说“经”和“传”的关系。在中国古代,把公认的权威著作称为“经”,把解释经的书称为“传”。比如说《春秋》是经,《春秋左氏传》(也就是《左传》)是传。《易经》是经,《系辞传》是传。古人强调经和传的地位是不同的,读“传”时,不要忘了读“经”。
《领域驱动设计》原书好比是经,后来讲的 DDD 书好比是传
关于模式,软件开发的高手往往比新手能够更快,更优质地完成任务。那么,这些高手必然知道一些新手不知道的东西。这些东西过去常常是只可意会不可言传的。后来,有各路专家,把高手们的这些“不传之秘”,分门别类地总结出来,成为处理特定问题的既定解决方案。这就是“模式”。
最早对软件开发产生重大影响的是《设计模式》,后来就掀起了轰轰烈烈的“模式运动”。
所以可以有意识地多看看关于模式的书,只要肯下功夫,这是提高水平的捷径。
此文章为3月Day6学习笔记,内容来源于极客时间《手把手教你落地 DDD》