系统架构书单推荐(一)领域驱动设计与面向对象

本文主要是个人在学习过程中所涉猎的一些经典书籍,有些已经阅读完,有些还在阅读中。于我而言,希望追求软件系统设计相关的原则、方法、思想、本质的东西,并希望通过不断的学习、实践和积累,提升自身的知识和认知。希望以下这些书籍在学习之路上对您也有所帮助。


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

推荐理由:该书技术思想领域的开创性作品,归纳总结了技术的定义,详细解释了技术的进化机制,并且构建了一个完整的关于技术的理论体系。

中:《第一性原理

作者:李善友

推荐理由:黑天鹅事件、《三体》中的射手和农场主假说......在混乱的表象之上,我们应该如何追本溯源、直达问题的本质,相信这本书能带给你一些醍醐灌顶的收获。

相关推荐
Keya3 小时前
MacOS端口被占用的解决方法
前端·后端·设计模式
已读不回1434 小时前
设计模式-单例模式
前端·设计模式
曼岛_16 小时前
[系统架构设计师]系统质量属性与架构评估(八)
架构·系统架构
丘大梨21 小时前
QT 基础聊天应用项目文档
运维·数据库·系统架构
Ashlee_code1 天前
香港券商智能櫃台系統技術解決方案——融合跨境清算與AI風控,助力券商把握滬港雙市爆發機遇**
java·科技·金融·重构·架构·系统架构·php
long3161 天前
构建者设计模式 Builder
java·后端·学习·设计模式
一乐小哥1 天前
从 JDK 到 Spring,单例模式在源码中的实战用法
后端·设计模式
付春员1 天前
23种设计模式
设计模式
Zyy~2 天前
《设计模式》工厂方法模式
设计模式·工厂方法模式
蒋星熠2 天前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构