本文主要是个人涉猎过的一些图书,希望以下书籍在学习之路上对大家也有所帮助。
1 UML相关
统一的建模语言UML是非常重要的辅助设计工具,在很多设计书中都会议UML作为设计模型的表述。掌握UML,有助于对这些经典软件设计资料的学习,不至于由于 “晦涩难懂” 的图形而心生怯意。《UML精粹》是大师Martin Fowler的经典著作,简洁但不乏大师洞见,值得拜读。
中:《UML精粹:标准对象建模语言简明指南》
英文:UML Distilled: A Brief Guide to the Standard Object Modeling Language
作者:Martin Fowler
2 领域驱动设计
领域驱动设计的经典著作,不用多说。
中:《领域驱动设计 - 软件核心复杂性应对之道》
英:Domain Driven Design:Tackling Complexity in the Heart of Software
作者:Eric Evans
中:《实现领域驱动设计》
英:Implementing Domain Driven Design
作者:Vaughn Vernon
中:《领域驱动设计精粹》
英:Domain-Driven Distilled
作者:Vaughn Vernon
3 领域建模相关
领域建模是领域驱动设计的核心工作之一,在我们大多数的开发过程中并没有强调模型的重要性,大部分的系统设计似乎都弱化了“面向对象”。不论是为了辅助对领域驱动设计的学习,还是深入学习面向对象分析与设计,这两本书都一定能让你收益颇丰。
中:《对象模型——策略、模式与应用》
英:Object Models Strategies,Patterns,and Applications
作者:Coad
中:《分析模式:可复用的对象模型》
英文:Analysis Patterns: Reusable Object Models
作者:Martin Fowler
4 架构相关
《软件架构基础》和《演进式架构》两本书都探讨了系统架构的相关知识。 “到底什么是软件架构” ?Mark Richards, Neal Ford 两位大师在该书中从自身视角对软件架构进行了定义说明,并详细描述的不同的应用架构风格及其多维度的指标分析。《演进式架构》则对架构演进的原理和技巧进行了探讨。
中:《软件架构基础》
英:Fundamentals of Software Architecture
作者:Mark Richards, Neal Ford
中:《演进式架构》
英:Building Evolutionary Architecture
作者:Neal Ford; Rebecca Parsons; Patrick Kua
5 探寻本质
中:《软件设计的哲学》
英:A Philosophy of Software Design
作者: John Ousterhout
推荐理由: “到底什么是复杂性” ? 该书开篇即对复杂性进行了阐述。介绍了软件设计的基本问题,并提出了在软件设计过程中应用的一系列设计原则
中:《技术的本质:技术是什么,它是如何进化的》
英文:The Nature of Technology:What It Is and How It Evolves
作者:Arthur, W. Brian
推荐理由:该书是技术思想领域的开创性作品,归纳总结了技术的定义,详细解释了技术的进化机制,并且构建了一个完整的关于技术的理论体系。
中:《第一性原理》
作者:李善友
推荐理由:《三体》中的射手和农场主假说一定让你印象深刻......在混乱的表象之上,我们应该如何追本溯源、直达问题的本质,相信这本书能带给你一些醍醐灌顶的收获。
6 结语
欢迎各位大佬评论区留言,补充推荐自己阅读或了解的经典书籍!