什么是架构?
什么是架构?
生活中总是看到充斥着各种架构词汇,如下图
又例如我现在所在的部门负责的技术架构
架构的本质是以拆分生命周期的方式来做增长
什么是生命周期
生命周期:事物的生老病死
人每一天的活动,眨一次眼、吃一口饭,都是一个生命周期,生命周期又包含生命周期,每个生命周期都有一个主体
以<用户购买>生命周期为例,可以拆分成
- <物品选购>(物品意向)
- <物品执行购买>(购买行为)
拆分出来的物品选购可以外包,例如导购、网上购物、智能推荐
为什么会产生架构
人最终都会消逝,而人总想活得更久、占有更多、享受更多,如何才能延长自己的生命?
同样的时间创造出更多的产出,相当于把自己的生命延长了。
于是有了所谓的时间管理,为了让每份时间更高效,又出现了精力管理
古代,一个人必须要先种田,完成粮食的产生,并消费粮食,结束粮食的生命周期才能完成能量的获取以维持生命,而粮食的生命周期外包出去后,人类的核心生命周期并没有受到影响,却大大的节省了时间,延长了自己的生命。正是因为有了分工,才形成了人类社会
什么是核心生命周期
核心生命周期:必须由自己完成的事
围绕核心生命周期切分,非核心的生命周期独产出来,并行地开展工作,设立沟通机制,使非核心围绕核心做出贡献
被切分的生命周期,如果连续的时间内持续执行,就不能切分出去,例如:比如孕妇十月怀胎,不能切分成十个人一个月完成
稻盛和夫就是一位牛逼的架构师,提出阿米巴经营
什么是业务
解决人类问题,支撑人类自身生命周期,使人类获得利益
什么是技术
通过人为创造条件,让指定的规律按照人类的意愿发生
软件的核心是什么
软件的核心:模拟人类的业务
软件最早更多的是应用在科学计算,对于大部分行业而言门槛比较高,建立在数学、物理、电子电路等学科
传统企业业务增长方式:增加人和空间,成本很高,而虚拟空间的增长成本远低于真实空间,拆分生命周期开始转到了虚拟空间。
以语言类似,很多人学习英语等语言,最终从事语言本身研究的人少之又少,软件主要还是服务于其他行业的,所以我们需要涉猎各行各业的知识,科学、教育、经济、历史、艺术、心理等等。
不变的规律:让非核心生命周期的处理更少地占用人类的时间,变相的延长人类生命
软件架构师的职责是什么
- 理解业务组织架构,对业务生命周期拆分
- 根据业务生命周期对软件开发生命周期进行拆分
- 结合两者匹配合适的组织架构
简单地说:架构师拆分生命周期,技术人员实现生命周期
技术、业务与架构的联系
- 业务是核心,技术是解决业务问题的工具,架构是让业务长大的方法
- 架构用技术来实现拆分,而技术需要架构来合理组织以提升效率
- 技术为解决业务问题而产生,没有了业务技术也没有存在的前提