展开全部

主编推荐语

对于每一位软件研发从业人员,无论从事的是具体编码实现、架构设计,还是软件研发管理,《架构整洁之道》都是不可或缺的。

内容简介

本书是创造“Clean神话”的Bob大叔在架构领域的登峰之作,围绕“架构整洁”这一重要导向,系统地剖析其缘起、内涵及应用场景,涵盖软件研发完整过程及所有核心架构模式。

本书分为6部分,第1部分纲领性地提出软件架构设计的终极目标,描述软件架构设计的重点与模式;第2~4部分从软件开发中三个基础编程范式的定义和特征出发,进一步描述函数、组件、服务设计与实现的定律,以及它们是如何有效构建软件系统的整体架构的;第5部分从整洁架构的定义开始,详细阐述软件架构设计过程中涉及的方方面面,包括划分内部组件边界、应用常见设计模式、避开错误、降低成本、处理特殊情况等,并以实战案例将内容有机整合起来;第6部分讲述具体实现细节;附录则透过作者数十年的软件从业经历再次印证《架构整洁之道》的观点。

目录

  • 版权信息
  • 内容简介
  • 推荐序一
  • 推荐序二 久远的教诲,古老的智慧
  • 序言
  • 前言
  • 致谢
  • 关于作者
  • 关于技术审校者
  • 第1部分 概述
  • 第1章 设计与架构究竟是什么
  • 目标是什么
  • 案例分析
  • 本章小结
  • 第2章 两个价值维度
  • 行为价值
  • 架构价值
  • 哪个价值维度更重要
  • 艾森豪威尔矩阵
  • 为好的软件架构而持续斗争
  • 第2部分 从基础构件开始:编程范式
  • 第3章 编程范式总览
  • 结构化编程
  • 面向对象编程
  • 函数式编程
  • 仅供思考
  • 本章小结
  • 第4章 结构化编程
  • 可推导性
  • goto是有害的
  • 功能性降解拆分
  • 形式化证明没有发生
  • 科学来救场
  • 测试
  • 本章小结
  • 第5章 面向对象编程
  • 封装
  • 继承
  • 多态
  • 本章小结
  • 第6章 函数式编程
  • 整数平方
  • 不可变性与软件架构
  • 可变性的隔离
  • 事件溯源
  • 本章小结
  • 第3部分 设计原则
  • 第7章 SRP:单一职责原则
  • 反面案例2:代码合并
  • 解决方案
  • 本章小结
  • 第8章 OCP:开闭原则
  • 思想实验
  • 依赖方向的控制
  • 信息隐藏
  • 本章小结
  • 第9章 LSP:里氏替换原则
  • 继承的使用指导
  • 正方形/长方形问题
  • LSP与软件架构
  • 违反LSP的案例
  • 本章小结
  • 第10章 ISP:接口隔离原则
  • ISP与编程语言
  • ISP与软件架构
  • 本章小结
  • 第11章 DIP:依赖反转原则
  • 稳定的抽象层
  • 工厂模式
  • 具体实现组件
  • 本章小结
  • 第4部分 组件构建原则
  • 第12章 组件
  • 组件发展史
  • 重定位技术
  • 链接器
  • 本章小结
  • 第13章 组件聚合
  • 复用/发布等同原则
  • 共同闭包原则
  • 共同复用原则
  • 组件聚合张力图
  • 本章小结
  • 第14章 组件耦合
  • 无依赖环原则
  • 自上而下的设计
  • 稳定依赖原则
  • 稳定抽象原则
  • 本章小结
  • 第5部分 软件架构
  • 第15章 什么是软件架构
  • 开发(Development)
  • 部署(Deployment)
  • 运行(Operation)
  • 维护(Maintenance)
  • 保持可选项
  • 设备无关性
  • 垃圾邮件
  • 物理地址寻址
  • 本章小结
  • 第16章 独立性
  • 用例
  • 运行
  • 开发
  • 部署
  • 保留可选项
  • 按层解耦
  • 用例的解耦
  • 解耦的模式
  • 开发的独立性
  • 部署的独立性
  • 重复
  • 再谈解耦模式
  • 本章小结
  • 第17章 划分边界
  • 几个悲伤的故事
  • FitNesse
  • 应在何时、何处画这些线
  • 输入和输出怎么办
  • 插件式架构
  • 插件式架构的好处
  • 本章小结
  • 第18章 边界剖析
  • 跨边界调用
  • 令人生畏的单体结构
  • 部署层次的组件
  • 线程
  • 本地进程
  • 服务
  • 本章小结
  • 第19章 策略与层次
  • 层次(Level)
  • 本章小结
  • 第20章 业务逻辑
  • 业务实体
  • 用例
  • 请求和响应模型
  • 本章小结
  • 第21章 尖叫的软件架构
  • 架构设计的主题
  • 架构设计的核心目标
  • 那Web呢
  • 框架是工具而不是生活信条
  • 可测试的架构设计
  • 本章小结
  • 第22章 整洁架构
  • 依赖关系规则
  • 一个常见的应用场景
  • 本章小结
  • 第23章 展示器和谦卑对象
  • 谦卑对象模式
  • 展示器与视图
  • 测试与架构
  • 数据库网关
  • 数据映射器
  • 服务监听器
  • 本章小结
  • 第24章 不完全边界
  • 省掉最后一步
  • 单向边界
  • 门户模式
  • 本章小结
  • 第25章 层次与边界
  • 基于文本的冒险游戏:Hunt The Wumpus
  • 可否采用整洁架构
  • 交汇数据流
  • 数据流的分割
  • 本章小结
  • 第26章 Main组件
  • 最细节化的部分
  • 本章小结
  • 第27章 服务:宏观与微观
  • 面向服务的架构
  • 服务所带来的好处
  • 运送猫咪的难题
  • 对象化是救星
  • 基于组件的服务
  • 横跨型变更
  • 本章小结
  • 第28章 测试边界
  • 测试也是一种系统组件
  • 可测试性设计
  • 测试专用API
  • 本章小结
  • 第29章 整洁的嵌入式架构
  • “程序适用测试”测试
  • 目标硬件瓶颈
  • 本章小结
  • 第6部分 实现细节
  • 第30章 数据库只是实现细节
  • 关系型数据库
  • 为什么数据库系统如此流行
  • 假设磁盘不存在会怎样
  • 实现细节
  • 但性能怎么办呢
  • 一段轶事
  • 本章小结
  • 第31章 Web是实现细节
  • 无尽的钟摆
  • 总结一下
  • 本章小结
  • 第32章 应用程序框架是实现细节
  • 框架作者
  • 单向婚姻
  • 风险
  • 解决方案
  • 不得不接受的依赖
  • 本章小结
  • 第33章 案例分析:视频销售网站
  • 产品
  • 用例分析
  • 组件架构
  • 依赖关系管理
  • 本章小结
  • 第34章 拾遗
  • 按层封装
  • 按功能封装
  • 端口和适配器
  • 按组件封装
  • 具体实现细节中的陷阱
  • 组织形式与封装的区别
  • 其他的解耦合模式
  • 本章小结:本书拾遗
  • 后序
  • 附录A 架构设计考古
  • 工会财务记账系统
  • 激光切割
  • 铝压铸监控
  • 4-TEL
  • 维护中心计算机(SAC)
  • C语言
  • BOSS
  • pCCU
  • DLU/DRU
  • VRS
  • 电子前台
  • 修理工派遣系统
  • Clear Communications公司
  • ROSE
  • 系统架构师注册考试
  • 小结
展开全部

评分及书评

4.6
19个评分
  • 用户头像
    给这本书评了
    5.0
    软件工程师必读

    每做一个上点体量的项目就会再看一遍!

      转发
      评论
      用户头像
      给这本书评了
      5.0
      考古 - 回到问题的原点

      这本书最吸引我的是最后两章 “实现细节” 以及 “架构设计考古”,你会看到某项技术是在什么背境下产生的,在没有这些通用技术的年代,软件工程师又是怎么解决这些问题的,古代软件工程师是怎么看待现代的这些通用技术,阅读这些内容会让你回到原点去理解所要解决的本质问题是什么。

        转发
        评论
        用户头像
        给这本书评了
        5.0
        架构入门书籍

        4 星半,入门蛮有用,对什么是对的,架构设计着重点在哪里有比较好的引导,树立了架构的基本观念(现在看也不过时)

          转发
          评论
        • 查看全部6条书评

        出版方

        电子工业出版社

        电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。