
郑天民
1.程序员向架构师转型篇,剖析架构师角色。2.系统架构设计知识领域篇,介绍软件架构体系结构、领域驱动设计、分布式系统架构、技术知识体系等架构师所应具备的主要技术体系内容。3.软件开发系统工程篇,介绍软件工程学、业务架构设计、敏捷方法与实践、软件交付模型等架构师所应具备的系统方法论和相关工程实践。4.架构师软能力篇,包括架构师与外部环境、自身团队和转型所需的意识形态。
从备考软考高级的系统架构设计师的途中,被这本郑天民老师的书所吸引。花了几天时间初读了一遍,不同于软考备考书的教条和疏于实际。看的出来,郑老师是将软件系统架构设计从理论到实际,再结合自身的经验毫无保留的分享给大家了。非常感谢~~
作为入门书籍来读不错!但没有《程序员的三门课》架构部分专业!
不太新了,不过很多知识通用的,后面几章的经验完全适应其他团队。多学点总是有好处的,哪怕长长见识呢[微笑]
1.程序员向架构师转型概述篇:剖析架构师角色,提供架构师的视图和视角及程序员向架构师成功转型的思路。 2.系统架构设计知识体系篇:介绍软件架构体系结构、领域驱动设计、分布式系统架构设计、构架实现技术体系等架构师所应具备的主要技术体系内容。 3.软件架构系统工程篇:介绍软件工程学、敏捷方法与实践、软件交付模型等架构师所应具备的系统方法论和相关工程实践。 4.架构师软能力篇:包括架构师与外部环境、自身团队和转型所需的意识形态。
二零一九年读完的第八十五本,这本书相当于前一本关于微服务原理和实践的后续版本,有小部分东西是一样的。除此之外,作者增添了作为架构师需要的软技能和一些其它方面的知识点,值得一看,但不必过于认真。
本书逻辑结构清晰,每篇介绍中有画思维导图。 读完整本书对架构这一概念有了整体认识。 缺点:实例部分还是不够具体,对没用过那部分内容的人,看不看区别不大。 开篇,介绍了: 架构的演进:从单块模式 -> 分布式架构 -> 缓存 -> 中间件系统 -> 企业服务总线。 ------------------------------------------------------------------------ 架构师的视图和视角: 视图:上下文视图、功能视图、数据视图、开发视图、部署视图、运维视图; 视角:安全性视角、性能视角、可用性视角、可扩展性视角; 转型的三段式模型:思路、方法论、工程实践。 ------------------------------------------------------------------------ 第二篇,主要介绍软件架构设计所需的知识体系结构,包括四个方面:软件架构的体系结构、领域驱动设计、分布式系统架构设计、架构实现技术体系。 软件架构的体系结构,主要是一个抽象的过程,主要从三个方面展开: 1.架构风格:分布式、事件驱动、系统结构、消息总线及适配和扩展。 2.架构模式:架构模式作为架构风格的内部组织,介绍了数据访问、服务定位、异步化、资源管理和依赖管理。 3.架构模型:架构模型是对架构本身的一种描述方式,书中从领域模型、设计模型到代码模型的层层深入,完成从抽象到具体、从现实问题到解决方案的转变过程。 领域驱动设计: 主要从策略和技术两个维度来说明: 策略设计: 关注于业务拆分和整体架构风格的确立。 通过领域/子域、通用语言、限界上下文等概念确立系统边界和集成策略。 打破传统严格意义上的系统分层结构,采用平面形架构风格,围绕核心领域模型由内而外确定系统的构建方式。 技术设计: 首先对系统对象进行区分,在实体、值对象的集成上抽象聚合概念,确保边界的完整性和对象访问有效性。 同时,使用领域服务梳理多个实体之间的依赖关系,使用领域事件解耦交互方式,并利用资源库实现数据的持久化。 分布式架构设计: 分布式系统首先要解决的问题在于实现网络之间的通信,通过编码解码、寻址路由、实例定位、服务引用等组件完成分布式环境下的远程方法调用。 RPC架构可以帮忙我们完成以上需求。 光有RPC架构还不够,因为分布式环境下的服务数量增多会对服务的发布、引用、管理提出新的要求。 在RPC架构的基础上,介绍负载均衡、容错、服务注册、路由、监控等主题,为分布式系统添加服务治理功能。 架构实现技术体系: 架构实现的过程也是一个层次化的过程。 应用层架构包括领域建模,也包括系统集成; 服务层架构涵盖分布式服务及分布式消息、分布式缓存和服务总线。 关系型数据库、No SQL、缓存系统等都属于存储层架构。 服务器架构方面主要介绍了Nginx这一代表性反向代理服务器。 数据处理架构和安全性架构作为两个辅助性架构也做了详细介绍。 安全性架构前端架构数据处理架构应用层架构服务层架构存储层架构服务器架构 ------------------------------------------------------------------------ 第三篇, 介绍软件架构设计系统工程,主要从软件工程学、敏捷方法与实践、软件交付模型三个方面阐述: 软件工程学: 是一种系统工程,包含软件实现、项目管理和过程改进。 敏捷方法与实践: 敏捷的意义,在于快速响应变化。 介绍了极限编程(面向工程实践)和Scrum(面向过程实践)两种工程实践。 软件交付模型: 配置管理 软件产品开发需要端到端的管理通道,关注的是实现部署流水线的自动化,做到持续交付。为了实现这一目标,包括代码在内的所有过程性资产都应该通过配置管理的方法进行管理和维护。 为了实现这一目标,包括代码在内的所有过程性资产都应该通过配置管理的方法进行管理和维护。 持续集成 持续集成是打造持续交付的第二个环节,通过实现自动化的系统构建、质量检测、服务部署,提升了信息反馈的机制,使团队能够通过一个完全自动化的过程在任意环境上部署和发布软件的任意版本。 ------------------------------------------------------------------------ 第四篇,架构师软技能 外部环境:政治协商、沟通、信息传递与维护; 自身团队:领导力、知识管理、人员管理、绩效管理; 意识形态:引入变化; ------------------------------------------------------------------------
书不在于读多少,在于懂多少,有的书需要精读,有的只需要了解,一类书可以只读一本,无用的书可以不读。 这里边的思想我在大学期间,软件工程论都有接触,翻翻
作为架构师入门或程序员转型架构师有一定参考价值,在整体来说第一、第二章比较值得阅读(这部分内容比较多抄了《架构…视点》),不过看出作者也加入了自己经验理解转型三段式。但后面章节内容塞太多而变得过于简单。
这本书讲解的很不错,值得阅读,思路决定出路
2020.11 内容把涉及到架构师的技术领域介绍了一下,只能涨见识,涨不了智慧,还得细化学习,精准打击