首页 > 其他分享 >读--架构漫谈之后

读--架构漫谈之后

时间:2023-02-18 23:46:04浏览次数:33  
标签:架构 切分 -- 漫谈 问题 概念 解决 我们

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

1.          什么是架构:

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

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

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

           有一句话这样说:

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

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

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

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

 

3.如何识别架构。

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

4.架构的切分:

      1. 架构的切分的导火索是人的负载太重。

2. 架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。

3. 架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。

4. 架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化

5.什么是软件:

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

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

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

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

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

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

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

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

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

8.代码的问题:

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

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

标签:架构,切分,--,漫谈,问题,概念,解决,我们
From: https://www.cnblogs.com/yinianqiong/p/17133976.html

相关文章

  • NSDT可编程3D场景
    推荐:将 NSDT场景编辑器 加入你的3D开发工具链。NSDT编辑器简化了WebGL3D应用的开发,完全兼容Three.JS生态。本文介绍如何在自己的应用中嵌入使用NSDT编辑器搭建的3D场......
  • 架构漫谈读后感
    概念是为解决某一特定问题的解决方案所起的名字,因此由概念本身可以帮助架构师在了解未知领域时,更快的嗅到用户所处的领域的问题的线索,概念本身是精炼化的,所能展露出信......
  • 【IMX6ULL学习笔记】二十、IIC驱动和设备
    一、IIC驱动和IIC设备驱动和设备是成对的,一个驱动对应一个设备,而驱动又分为主机驱动(IIC控制器驱动)和设备驱动,相对应的就是主机设备(IIC控制器)和普通设备(外围设备)。1、主机......
  • Mongodb与Redis应用指标对比
        项目中用的是MongoDB,但是为什么用其实当时选型的时候也没有太多考虑,只是认为数据量比较大,所以采用MongoDB。    最近又想起为什么用MongoDB,就查阅一......
  • 【Spring IOC】【七】容器源码解析- PostConstruct、PreDestory的源码分析
    1 前言@PostConstruct、@PreDestory这两个注解大家应该有用过吧,我们这篇分析一下主要是PostConstruct这个注解的解析时机和执行时机。2 源码分析2.1 解析时机-doC......
  • Springboot项目把配置文件application.properties改成application.yml,以及多环境配置
    1、Springboot的配置文件application.properties直接改成application.yml,然后按照yml格式配置应该就能生效了如果不能生效,可以看一下target里面的配置文件是properties还......
  • Cocos number格式转换时分秒格式
    我们程序中经常遇到倒计时的问题倒计时转换成时分秒格式//时间转换时分秒FormatTime(totalSeconds:number):string{lethours:number=this.Rounding......
  • nacos自动刷新配置
    在使用​​Nacos​​作为配置中心时,我们希望能够在更改配置文件之后,可以同步到各个服务中,下面我们介绍一下2种实现方式。配置文件:test:name:"test"方式一:如果使用@Config......
  • spring架构改造持续改造
    1、Causedby:java.lang.ClassNotFoundException:org.mybatis.logging.LoggerFactory2、UnabletostartServletWebServerApplicationContextduetomissingServlet......
  • 【云原生kubernetes】k8s service使用详解
    一、什么是服务service?在k8s里面,每个Pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失,重启pod的ip地址会发生变化,此时客户如果访问原先的ip地址则会报错;S......