软件架构已经成为每一个软件项目的重要组成部分, 架构师需要在构建可靠的软件体系结构时, 确定系统的主要组成部分, 考虑这些部分如何组合在一起, 并在设计这些系统时做出关键决策.
开发人员更专注于底层细节, 例如类和方法, 而架构师则侧重于高层细节, 例如组件之间的交互, 持久层应该如何表现以及重要的系统设计决策等, 这也是软件架构师和高级开发人员的最大区别, 许多开发人员都是朝着架构师的方向提升自己
今天就和大家推荐一个后端架构师技术图谱, 内容真的是太全面了, 整个知识图谱涵盖的方面比较多, 各个方面都有 ---architect-awesome
从最基础的数据结构, 算法, 操作系统, 设计模式到并发, 运维, 测试, 中间件, 网络, 安全, 性能, 数据库全都有, 当然也包括系统的分布式, 项目管理这些全都有囊括.
数据结构
常用算法
并发
操作系统
设计模式
运维 & 统计 & 技术支持
中间件
网络
数据库
搜索引擎
性能
大数据
安全
常用开源框架
分布式设计
设计思想 & 开发模式
项目管理
通用业务术语
技术趋势
政策, 法规
架构师素质
团队管理
资讯
技术资源
每一个部分又划分为若干个小点, 逐一讲解, 非常细致, 比如数据结构底下还有队列, 集合, 链表, 数组, 字典, 关联数组, 栈, 树, BitSet
目前, 这一份后端架构师技术图谱已经在 GitHub 上获得 35258 个 Star,10793 个 Fork(GitHub 地址: https://github.com/xingshaocheng/architect-awesome)
此外, 在这个项目里面还推荐了一份 Java 技术书籍大全, Java 入门书籍, Java 基础及进阶书籍, 框架与中间件, 架构设计, 设计模式, 数学与算法, JVM 周边语言, 项目管理 & 领导力 & 流程, 职业素养与个人成长, 格局与视野, 面试参考书等.
这份书单已经收录 277 本 Java 相关领域经典技术书籍, 从初级开发者到资深架构师, 涵盖 Java 从业者的各个阶段, 并持续更新.(GitHub 地址: https://github.com/sorenduan/awesome-java-books)
来源: http://developer.51cto.com/art/201907/599746.htm