<<聊聊架构>>读后笔记

聊聊架构这本书很有意思,作者在这本书中并没有讲解具体的技术解决方案,而是针对架构到底是什么、架构解决了什么问题、架构需要什么条件等角度,阐述了自己对架构的认识。
打个比方,比如LOL的教学,大多数教学是告诉你某个英雄怎么玩有什么技巧或者最佳的刷野和出装路线是什么,而作者这个教学是从他的角度告诉你,获胜的策略有哪些,为什么要分上中下打野这几个位置以及各个位置的职责。

下面写一下自己收获比较大的一些点:

1. 生命周期
  • 意义:作者认为一切事物都有生命周期,业务与软件也不例外,每个生命周期都有自己的主体,而每个生命周期可以继续的拆分出核心生命周期和非核心生命周期,拆分出非核心生命周期的意义是能够使原本单人需要串行完成的工作产生分工,这样能更合理的利用时间,高效并行的完成核心生命周期。
  • 非核心生命周期:非核心生命周期的意思并非是说该生命周期不重要,而是不需要自己亲自干,可以分工出去给别人干,用来提高并行度。
  • 与架构的关系:架构的工作就是要能对核心生命周期进行合理的拆分,确认其主体,分配负责人,设立各周期间的沟通机制。
2. 权责对等
  • 意义:架构对业务的声明周期做切分设计后,更关键的是确定各周期的负责人,只有做到了每个周期的负责人全责对等才能保证架构的落地。
  • 结果:架构的切分会导致职责和利益的重新分配,因此架构的切分结果最终一定要体现在组织结构上,否则就是一个没有落地的架构。
3. 理解业务
  • 意义:架构为业务而服务,因此一定要先理解业务的核心生命周期,知道业务当前遇到的问题和瓶颈是什么,才能做架构设计。而每个业务领域都会有很多概念,因此进入一个领域,首先弄清楚该领域的一些常见概念也非常重要。要理解业务,首先要克服对时间的焦虑,不要急于设计各种技术方案,而是要先识别出当前的问题是什么。而识别问题分两步,寻找问题的主体,确定问题是什么。
4. 架构
  • 目标:支持业务的快速增长。
  • 核心:架构的核心架构的执行。
  • 原则:以业务为核心,拆分后不应该影响外部访问行为,如果影响了,这说明是结构或者业务发生了变化。
  • 架构师职责:除了要掌握软件技术还要掌握业务技术,能够为拆分出的各生命周期选择出合适的技术。
5. 业务、技术、架构三者关系
  • 概念:业务是核心,技术是解决业务问题的工具,架构是让业务长大的组织方法。
  • 关系:架构需要用技术来实现拆分,技术需要架构来合理组织以提升效率。
6. 学习开源技术
  • 核心:代码的核心在于作者对其理念的实现,而不是代码本身,要掌握好作者的理念,一般要先从理解作者面对的问题入手,也就是从业务入手,分析作者是如何拆分业务生命周期的。
7. 软件架构
  • 影响因素:业务的组织架构,软件架构最好能合业务组织架构匹配;软件开发团队自身的组织架构;用户流量对软件的冲击。架构的根源以及公司的最终目标都是流量的增长。
8. 代码结构
  • 分类:存储业务代码;业务逻辑代码,要保持内聚;服务代码,用户的访问通道,负责组合调用不同的业务,对不同角色的用户提供不同的访问通道;黏合代码,对业务和存储的封装,通过存储保存和加载业务中对象的状态。
  • 各自特点:服务、黏合、存储代码都是严格的访问代码,只要做连通性测试即可,业务代码需要做单元测试。服务代码不要考虑代码重用,要针对不同角色提供不同的服务调用;业务代码必须要考虑代码重用。
9. 单元测试
  • 适用范围:业务代码需要,判断依据的有两点,方法能否用一个main函数执行;方法的参数能否自由模拟,而不依赖外部环境。
  • 好处:是对自己工作效果的反馈,同时也是对保证自己代码质量的责任;能消除自己对测试工程师测试时的焦虑心理;能帮自己检验业务逻辑是否分散到了访问代码中。
10. 设计模式
  • 分类:创建型、结构型、行为型。
  • 应用:黏合代码是为了给业务对象加上状态,可以用到装饰器;服务代码很多时候扮演的就是代理;存储基本上是适配器。
  • 怎样用:不但要了解各种设计模式所能解决的问题,还要了解自己要解决的问题。
11. 框架
  • 概念:框架基本上是根据业务模型,或者设计模式等,把模型中稳定的部分进行封装,形成一个大的边界,但对具体内容仍留有余地。
12. 产品、商品、企业、软件
  • 产品构成要素:产品本身以及访问到产品的途径,因此产品也可以分为制造类产品和服务类产品。
  • 商品:用来交易的产品单元,可同时包含产品和访问产品通道两部分的价值。
  • 企业:企业的产品来源于企业对自己在人类社会的分工定位,也就是企业的愿景,企业产品的价值来于对人类问题的解决。
  • 软件:衡量软件的价值的一个重要因素是对软件的访问量。
13. 订单
  • 概念:为了把每个交易的生命周期过程串联并记录下来,并和客户形成一对一的交易跟踪,就形成了订单的概念。所有企业的产品提供给用户的过程都可以看做是交易,因此其实每个企业都有自己的订单,只是订单的形式不同。
14. 事务
  • 另一种解决方案:参考复式记账的方法,事务其实可以由业务自己来保障,数据库等其他系统提供的事务本质也是一种辅助手段。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,646评论 4 366
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,979评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,391评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,356评论 0 215
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,740评论 3 293
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,836评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,022评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,764评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,487评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,728评论 2 252
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,200评论 1 263
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,548评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,217评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,134评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,921评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,919评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,766评论 2 274

推荐阅读更多精彩内容

  • 一、生命周期 一个事物一旦出生,就必然会长大,变异,一旦长大,就面临着衰老,接下来就是消亡了,这个过程就称为一个事...
    ZyBlog阅读 2,618评论 1 11
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,585评论 25 707
  • 作为开发人员,会用别人的框架是远远不够的,我们可以学习别人的设计思想、实验原理,积累知识,才能不断提升自己。今天这...
    丶金陵小霸王c阅读 3,450评论 0 2