读书笔记

Posted ball球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记相关的知识,希望对你有一定的参考价值。

第1部分 概述

第1章 设计与架构究竟是什么

设计(Design)与架构(Architecture)二者没有任何区别。一丁点区别都没有!

“架构”这个词往往使用于“高层级”的讨论中。这类讨论一般都把“底层”的实现细节排除在外。而“设计”一词,往往用来指代具体的系统底层组织结构和实现的细节。但是,从一个真正的系统架构师的日常工作来看,这样的区分是根本不成立的。

目标是什么

软件架构的终极目标是,用最小的人力成本来满足构建和维护该系统的需求。

一个软件架构的优劣,可以用它满足用户需求所需要的成本来衡量。

龟兔赛跑的思想:

  • 1.慢但是稳,是成功的秘诀。
  • 2.该比赛并不是拼谁开始跑得快,也不是拼谁更有力气的。
  • 3.心态越急,反而跑得越慢。

软件开发的一个核心特点:要想跑得快,先要跑得稳。

过度自信只会使得重构设计陷入和原项目一样的困局中。

第2章 两个价值维度

对于每个软件系统,我们都可以通过行为和架构两个维度来体现它的实际价值。

行为价值

软件系统的行为是其最直观的价值维度。

大部分程序员认为他们的工作是且仅是:按照需求文档编写代码,并且修复任何Bug。这真是大错特错。

架构价值

软件系统必须保持灵活。软件发明的目的,就是让我们可以以一种灵活的方式来改变机器的工作行为。

变更实施的难度应该和变更的范畴(scope)成等比关系,而与变更的具体形状(shape)无关。

如果系统的架构设计偏向某种特定的“形状”,那么新的变更就会越来越难以实施。所以,好的系统架构设计应该尽可能做到与“形状”无关。

哪个价值维度更重要

架构的灵活性比系统行为更加重要。

艾森豪威尔矩阵

  • 软件系统的第一个价值维度:系统行为,是紧急的,但是并不总是特别重要。
  • 软件系统的第二个价值维度:系统架构,是重要的,但是并不总是特别紧急。

平衡系统架构的重要性与功能的紧急程度这件事,是软件研发人员自己的职责。

为好的软件架构而持续斗争

研发团队必须从公司长远利益出发与其他部门抗争。

有成效的软件研发团队会迎难而上,毫不掩饰地与所有其他的系统相关方进行平等的争吵。

如果忽视软件架构的价值,系统将会变得越来越难以维护,终会有一天,系统将会变得再也无法修改。如果系统变成了这个样子,那么说明软件开发团队没有和需求方做足够的抗争,没有完成自己应尽的职责。

以上是关于读书笔记的主要内容,如果未能解决你的问题,请参考以下文章

《万万没想到》读书笔记

读书笔记和sprint总结

读书笔记——第八,九,十章

读书笔记及读后感

软件需求与分析读书笔记3

读书笔记