首页 > 其他分享 >《架构漫谈》读后感

《架构漫谈》读后感

时间:2023-02-23 01:11:13浏览次数:41  
标签:读后感 架构 漫谈 问题 切分 解决 架构师 我们

  架构漫谈是由资深架构师王概凯 Kevin 执笔的系列专栏,主要讲述了什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。

  首先什么是架构呢,架构要解决什么问题呢?开篇就给出了很好的解释,软件是为谁服务的?是为人而服务,那出现了问题,我们自然而然就要解决人的问题。

  在我看来,架构就是把一个整体切割成为不同的小块,这些小块之间还有着不同的联系方式,将这些小块分给不同的人负责,最后通过一种特定的方式再结合为一个整体。

在阅读过王概凯的架构漫谈之后我理解到关于架构的更深层次的东西。思考了以下几个方面我有自己的一点认识:

1. 什么是架构:

作者说架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构的产出物,自然就是对问题的分析,以及解决问题的方案:包括拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分和合并所对应的角色和所需要的核心能力等。

简而概之,架构便是分工合作。是多人合作解决问题时的分工方案。是分配工作和合并工作,角色完成整体项目的能力。

  1. 认识概念是理解架构的基础。

​ 有一句话这样说:

      架构就像是青少年时期的sex,每一个人都在谈论它,但没有人理解它。

​ 其实很多我们自认为了解的东西,我们往往是不能准确得描述出来的。所以我们都知道架构是什么,都在心里对它有一个概念,但是具体呢,我们往往就会像茶壶里煮饺子一样,是有嘴说不出来的。

概念在古代被称之为明相。这样就比较清晰了,概念便是说明一个物体的作用。同一个物体用在不同的地方它便拥有不同的名称。这便提示我们,在给一个东西下定义的时候,应该是从它的作用出发的。

关于抽象,并不总是所有东西都需要用抽象来描述的。抽象是对概念共通处的提炼升华,而抽象后的概念,并不等同于原概念。而且抽象所描述的概念是不同于原概念的另一个概念。

3.如何识别架构。

识别问题我们应该识别问题的主体,从问题的本质出发,问题的目的是什么而不注重于解决的过程,条条大路通罗马,我们在解决问题的时候,应该有自己独立思考的过程。

4.架构的切分:

  1. 架构的切分的导火索是人的负载太重。
  2. 架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。
  3. 架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。
  4. 架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化

5.什么是软件:

在谈到这个问题的时候我们应该明确一个问题,成本是一切问题的关键。计算机的出现便是因为节约成本,计算机能完成大量的计算。

有一句话这样说:世界的进步是靠懒人推动的。

软件是根本便是能让人完成更少的工作。

6.软件架构到底是要解决什么问题

5已经很明确了,最终目的便是解决人的问题。

7.不要架空设计师这个职位,给他实权。

在工作中,我们往往只是致力于完成自己的工作,那么最多只能成为一个工匠。因为这个过程解决的还是自己的问题,使我们对自己能力的不自信。 当我们跳出这一层面去发现问题,去给别人指出问题并给出解决方案这样才能当一个架构师。当别人发现问题分配给你去解决,就算你解决了这也是不能体现你的价值的,因为任何一个人都可以做到。而且别人给出是解决方案并不一定是最好的,也许是不恰当的,这样就算我们完成了工作,对别人来说也是没有完成的,因为我们并没有真正的解决别人的问题。

这也说明,我们对自己所从事的工作,还没有足够的自信,我们解决自己的问题还有困难,才不会去思考更深层次的问题,而只是局限于完成工作的这条线上。

架构师必须有自己的思想。架构师必须有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。

8.代码的问题:

在写代码的时候我们经常需要推翻重写,这完全是因为我们在开始的时候考虑不充分导致的。

优秀的代码必须要能够分离。任务分离,模块分离,只有各个模块之间的粘结降到最低这样在后续调整过程中才不会造成很大的工作量。

标签:读后感,架构,漫谈,问题,切分,解决,架构师,我们
From: https://www.cnblogs.com/lht020321/p/17146535.html

相关文章

  • 读后感
    下面对漫谈架构的每一章进行一个总结一)第一篇:讲的是到底什么是架构,在我看来:就是把一整体划分为不同角色,各自完成自己的部分,最后有机的融合在一起。然后通过一个早期的例......
  • 软件漫谈读后感
     今天按照老师的要求,看了架构漫谈,觉得受益良多,以下是我得点点读后感:(一)什么是架构?   架构的英文是Architecture,从定义上看,架构好像是一个过程,也不是很清晰。下面从......
  • 架构漫谈读后感
    为什么会产生架构?想象一下,在最早期,每个人都完全独立生活,衣、食、住、行等等全部都自己搞定,整个人类都是独立的个体,不相往来。为了解决人类的延续的问题,自然而然就有男......
  • 企业管理漫谈丨节省时间提升效率,是管理的基本目标
    上周专程去JC公司做了一次客户回访,接待我的是JC公司负责信息化管理的两位老师,非常谦虚和开放,人很好!此次交流,让我收获颇多。每一次近距离地与客户接触,让我对企业经营管理方面......
  • 深入理解Elasticsearch的分布式架构
    第一部分:什么是Elasticsearch的分布式架构Elasticsearch是一种基于Lucene的分布式搜索引擎,可以进行全文搜索和分析。它采用分布式架构,允许在多个节点上进行水平扩展,以处理大......
  • 65-CICD持续集成工具-Jenkins分布式架构及部署全过程
    Jenkins分布式相关概念Jenkins官方提供了Jenkins分布式构建,将众多job分散运行到不同的Jenkinsslave节点,大幅提高并行job的处理能力。除此之外,还可以针对不同的开发环......
  • 微服务架构和分布式架构的区别
    1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。......
  • 大规模 IoT 边缘容器集群管理的几种架构-3-Portainer
    前文回顾大规模IoT边缘容器集群管理的几种架构-0-边缘容器及架构简介大规模IoT边缘容器集群管理的几种架构-1-Rancher+K3s大规模IoT边缘容器集群管理的几种架构-......
  • 实践篇(三):如何有效评审软件架构图?
    作者:京东科技倪新明设计意图的传达是架构可视化关注的重要维度,在技术方案评审过程中不可避免的会出现各种各样的架构图或设计图,这些图形化表述在设计意图传达效果层面表......
  • 七十年编程语言发展漫谈
     客户端开发在多种生态中生存就要熟练使用各种平台的环境和语言。回顾自己的职业生涯,涉及多个平台生态以及对应的原生编程语言。最近又用起了Dart,经常在写代码的时候......