1.架构的开悟

2023-10-27

1. 架构是什么

软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
通常说架构是一种能力,架构角色则是要求你在具体事务中行使某些行为,而架构师则是用来标识这些能力与行为的一个职务。

2.架构师是什么

通常我们大多数人都具有架构的能力,并且也或多或少地行使架构师可能会有的行为,但是可能还没有“架构师”这个头衔而已。
我们作为社会的一部分,基本都是依靠别人或者机构来给我们一直称谓来获得社会定位。比如我们大学时高考,获得大学生的称谓;大学时参加计算机三级考试,获得三级证书。

3.架构成长之路

3.1 翻越愚昧山峰

邓宁-克鲁格效应
人的认知主要分为四个层次:
一)、不知道自己不知道
这时候会比较自大,认为自己什么都知道,什么都能搞定,像极了年青时的我们,总是感觉自己很厉害,对自己充满了盲目的自信。

二)、知道不知道
已经打破了认知围墙,走出去之后发现还有很多东西都是自己不知道的。
这时候需要特别注意,有2种情况可能:
1.发现自己原来太自大了,有太多东西不知道,过不了自己的虚伪的内心关卡,自信心受挫严重,没有改变的勇气,一直沉沦在绝望之谷。
2.发现自己的无知之后,像发现新大陆一样,如饥食渴的快速吸收新的知识,很快脱离绝望之谷,开始开悟之坡的政策。

三)、知道自己知道
知道哪些是自己能力范围内的东西,哪些是自己不能驾驭的东西,但是已经不再慌张,一步一步攻克自己不知道的范围,逐步扩大自己的能力圈。在每个击破的领域形成思维模型,通俗的说就是解决问题的“套路”。

四)、不知道自己知道
武学的最高境界:无招胜有招。这时候的你就是那个脱离了低级趣味的人,已经把各种套路融汇贯通,遇到一个场景就能无意识的闪现出解决问题的思路。

3.2 走上开悟之坡

开悟之坡主要的任务就是要找到各类问题的解决套路,总结起来可能主要包括以下几类:
架构的原则:简单,合适,演进
架构设计的哲学:降本增效
架构模型:
1.业务需求至简抽象分析思维模型(需求背后的真实需求)
2.哲学本质架构设计思维模型(CAP架构思维模型,BASE架构思维模型)
3.场景Balance架构设计思维模型(“合适”架构设计思维模型)
4.适度超前架构思维模型

架构设计能力:
1.以不变应万变
不变:思维模型
万变:场景
2.给出优雅的架构设计方案
优雅=合适+适度超前

3.3 踏上高原

世界其实都是主观的,根本没有客观世界,你有什么样的认知,你眼中的世界就是什么样子。
触类旁通,人生开悟:人生最重要的事情是成长!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1.架构的开悟 的相关文章

  • Java - 因内存不足错误而关闭

    关于如何最好地处理这个问题 我听到了非常矛盾的事情 并且陷入了以下困境 OOME 会导致一个线程崩溃 但不会导致整个应用程序崩溃 我需要关闭整个应用程序 但不能 因为线程没有剩余内存 我一直认为最佳实践是让它们离开 这样 JVM 就会死掉
  • 如何使用Spring WebClient进行同步调用?

    Spring Framework in 休息模板 https docs spring io spring framework docs current javadoc api org springframework web client R
  • 使用 JDBC 获取 Oracle 11g 的最后插入 ID

    我是使用 Oracle 的新手 所以我将放弃之前已经回答过的内容这个问题 https stackoverflow com questions 3131064 get id of last inserted record in oracle
  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • 如何在 Openfire 中使用 smack

    你好 我计划开发一个可以连接到 gtalk facebook 等的聊天客户端 我决定将 smack API 与 openfire 一起使用 但我需要很少的指导来了解如何将它与 openfire 服务器一起使用 openfire 是否提供了基
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 虽然我的类已加载,但 Class.forName 抛出 ClassNotFoundException

    代码如下 它的作用是加载我放在主目录中的 jar 文件中的所有类 import java io File import java util jar JarFile import java util jar JarEntry import j
  • 在 Java 中通过 XSLT 分解 XML

    我需要转换具有嵌套 分层 表单结构的大型 XML 文件
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要

随机推荐

  • 03MySQL数据库表练习

    第一题 1 创建数据库 mysql gt create database Market 2 创建数据表customers 在c num字段上添加主键约束和自增约束 在c birth字段上添加非空约束 mysql gt use Market
  • 二进制,八进制,十进制,十六进制相互转换的快速记忆法

    1 十进制转换为R进制 都是使用除数取余法来转换 结果按倒序来 a 十进制转换为二进制 就一直除以2 直到余数比2小 商为0为止 b 十进制转换为八进制 就一直除以8 直到余数比8小 商为0为止 c 十进制转换为十六进制 就一直除以16 直
  • 2023/09/19 qt day3

    头文件 ifndef WIDGET H define WIDGET H include
  • java String转数组

    java String转数组 String转集合 将字符串转化为数组 如果你和我一样你们公司有人这样存数据的话 这就很气人 如果用分割的方法的话 还需要去除前后两个中括号 还有两个双引号要分割 气死人 所以想要转数组例如 arr a b c
  • 解决fastjson解析List对象出现{“$ref“:“$.data[0]“}的问题

    返回数据问题 例子 List
  • Linux 实验六

    编写 段bash shell程序 保存为 program sh 完成以下输出 可循环执 please input a number 5 回 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1 bin bash echo please
  • Linux网络编程:多进程实现TCP通信

    服务器端代码 TCP 通信的服务器端 多进程实现并发服务器 父进程accept 子进程用于通信 include
  • linux如何运行ipynb文件_怎么在Jupyter里打开ipynb文件

    方法一 1 在使用Anaconda集成环境安装TensorFlow时 里面自带安装 Jupyter 安装完成后 打开开始菜单找到Anaconda3 64 bit 点击Anaconda Prompt 类似windows的命令行工具 2 在命令
  • QT怎么发送带结构体数据的信号?

    当发送的信号是结构体时 第一步 定义一个结构体 并在包含该结构体的类里面注册该结构体 通过此方法Q DECLARE METATYPE T 第二步 作为信号输出时 不能直接传结构体 要先包装一下结构再传出去 接收时 也要拆开包装 才能拿到数据
  • docker 镜像/容器的打包、导出、导入

    目录 一 将变动过的容器打包生成新的镜像 二 对镜像进行导出导入 1 将镜像导出为一个镜像img文件 2 将img镜像文件导入 复制出一个完全一样镜像 三 对容器进行导入导出 1 将容器导出为一个镜像tar文件 2 将镜像tar文件导入 生
  • vuejs项目纯js导出word、在线下载富文本内容或者网页另存为word文件

    所有前端导入导出方法集合 前端必备技能知识 JS导出Blob流文件为Excel表格 Vue js使用Blob的方式实现excel表格的下载 流文件下载 勤动手多动脑少说多做厚积薄发 CSDN博客 js文件流导出excel表格效果 重点 a
  • 【有奖调研】

    2022年 区块链价值被不断挖掘 成为Web3 元宇宙 数字藏品等众多产业的基石 我们面向广大开发者以及区块链爱好者发起本次调研 以了解大家对这项极具潜力的新技术的认知 为感谢大家的认真作答 我们将从有效问卷中随机抽取30名幸运者 赠送精品
  • 使用gsoap由.h文件生成wsdl相关问题

    生成wsdl文件步骤 头文件如下 ws interface h ifndef WS INTERFACE H define WS INTERFACE H 注意 以下注释是必要的 gsoap ns service name ws interfa
  • win7、win10进程pid4占用80端口的解决办法

    https jingyan baidu com article 7e4409533ffe092fc1e2ef10 html 今天想用wamp架设服务器 但是程序启动不起来 查看系统端口 80端口被占用 进程PID是4 我的系统是WIN10
  • 9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    基于STM32无刷直流电机控制器的设计仿真与实现 原理图 源码 仿真工程 论文 PPT 参考英文文献 文章目录 基于STM32无刷直流电机控制器的设计仿真与实现 原理图 源码 仿真工程 论文 PPT 参考英文文献 资料 任务书 设计说明书
  • 【详解C语言指针】我真的让C指针给我唱征服了~乌拉

    文章目录 前言 一 字符指针 1 字符指针的定义 2 字符指针的作用 3 字符指针的特点 二 指针数组 1 指针数组的定义 2 指针数组的使用 三 数组指针 1 数组指针的定义 2 细说指针 2 1 指针类型 2 2 指针所指向的类型 2
  • Qt 多线程中的信号/槽

    Qt 多线程中的信号 槽 connect函数的五个参数表示的意义依次为 sender signal receiver slot connectionTpye 其中槽可以是receiver的成员函数 或者是任意可访问的静态函数 在多线程的情形
  • HTML2CANVAS使用总结

    前言 最近遇到了个功能 要把表单转化成图片来保存 这让我想到了一个插件HTML2CANVAS 这里给大家分享下它的用法和我使用的过程 html2canvas 能够实现在用户浏览器端直接对整个或部分页面进行截屏 这个html2canvas脚本
  • python logging默认情况下打印_Python中logging在多进程环境下打印日志

    因为涉及到进程间互斥与通信问题 因此默认情况下Python中的logging无法在多进程环境下打印日志 但是查询了官方文档可以发现 推荐了一种利用logging SocketHandler的方案来实现多进程日志打印 其原理很简单 概括一句话
  • 1.架构的开悟

    零 架构的感悟 1 架构是什么 2 架构师是什么 3 架构成长之路 3 1 翻越愚昧山峰 3 2 走上开悟之坡 3 3 踏上高原 1 架构是什么 软件架构 有关软件整体结构与组件的抽象描述 用于指导大型软件系统各个方面的设计 通常说架构是一