架构漫谈(一):什么是架构?
总结:
1、架构的来源于社会的分工,同一个事情分解成多个小事情,让擅长的人完成擅长的事情,又快又好的完成部分局部工作,最后组合成一个整体。
2、架构是一个动词,是解决问题的过程。
3、架构的定义:
a、识别出问题域,定义好问题的边界
b、对问题域按照某个原则进行拆分。拆分的原则,便于不同的角色对拆分出来的问题进行串行或并行的工作。
c、建立拆分出来部分的沟通机制,使各部分都进行有机联系,组装成整体,完成整体工作。
架构漫谈(二):什么是概念?
总结:
1、概念是对一类问题的解决方案的命名,要能识别概念后面的问题和方案。
2、抽象和概念是不同的,抽象是一个分类的过程。
架构漫谈(三):如何识别问题?
总结:
1、架构中最重要的是识别问题,识别出问题工作就完成80%
a、是谁的问题,问题的主体是谁,问题的主体隐含着问题边界。这个识别最困难。
b、问题是什么。通常比较好解决
常见误区:
1、交流问题大多数情况下不是交流的问题本身,而是该问题的一个解决方案,该方案通常是有问题。要思考出隐藏在后面的真正问题。
2、没有思考问题,下意识选择一个解决方案。
3、提出问题者通常没有真正意识到自己的实际问题
架构漫谈(四):如何切分架构?
总结:
1、本文谈的是社会或者组织机构的架构切分?不限于软件?
2、切分的原因:
a、某些利益相关人负载太重
b、时间上负载太重
c、空间上负载太重
d、相关人权力和义务不对等
3、切分的原则:
a、时间上连续且不可分割
b、权力义务对等
c、切分出来的不超过一个人的负载?
d、对外一致
架构漫谈(五)什么是软件?
总结:
1、软件/计算机 是为了模拟/虚拟个人或者社会功能或者作用,降低成本提高效率的一种产物。
2、软件产业也经历了由小到大,经历了工作分工,最终出现了架构师。
架构漫谈(六)软件架构要解决什么问题?
总结:
1、业务问题
a、业务的主体是谁?
b、业务主体的利益关系是什么?
c、业务的组织架构是什么?
d、业务概念背后代表的是什么?
2、计算机问题
a、业务建模,并用计算机表示的问题
b、代码拆分的问题
d、软件分工的问题
d、软件运营的问题
架构漫谈(七)架构师的权力和义务
总结:
1、谁是架构师?
架构师是率领团队或组织超越对时间的恐惧和压力利用各种方法和手段全心全意去解决别人问题的一个人。
2、架构师的权力
团队或者组织的leader,能够影响调动整个团队。
3、架构师的义务
a、识别并解决问题
b、超越对时间的恐惧
c、平衡问题主体的权责。