读《漫谈架构》感想

从大学开始学习编程到现在10多年,架构师好像是程序员心中的一座金字塔的塔尖。其实我们对架构师有一定的误解,或者说架构师是技术最牛的?

最近要为公司做基础架构,同时再复习下架构是什么。

读过一些Martin Fowler文章,早已忘记具体读过什么,只记得领域模型、持续交付等词语, 但是现在认识到软件是一套系统工程,不只是写代码。

总结一下,什么是架构,就是: 
1.  根据要解决的问题,对目标系统的边界进行界定。  
2.  并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。 
3.  根据 2,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

面对问题有哪些困难呢?

我们先看一则笑话。女主人公:老公,把袋子里的土豆切一半下锅。
结果老公是把袋子里的每个土豆都削了一半,然后下锅。 
以这个笑话为例,看看在我们处理问题的时候,都会犯什么样的错误:  
 被告知要处理一个问题,但是交过来的实际上是一个解决方案,不是问题本身。 
 被告知要处理一个问题,直接通过直觉就有了一个解决方案,马上考虑解决方案如何落地,或者有几种解决方案,选哪个合适。
以上面切土豆的例子来分析: 
.  女主人提出一个问题,要切土豆下锅煮。 
.  男主人有一个问题,女主人交代了自己必须要完成的一个任务。 

架构师应该问的第一个正确的问题就是:目标问题是谁的问题。

作为软件工程师或者架构师,我们大部分时候是要去解决别人的问题,“别人”是谁,是值得好好思考的。
要正确的认识问题,需要问两个问题: 
1.  这是谁的问题? 
2.  有什么问题?

切分就是利益的调整 

1.  某个或者某些利益相关人负载太重。 
A. 时间上的负载太重。 
B. 空间上的负载太重,本质上还是时间上的负载太重。 
2.  某个或者某些利益相关人的权利和义务不对等。 

软件要解决什么问题

要解决谁的问题? 
分别是谁的问题 
分别有什么问题 
分析问题 

业务、技术、架构之间的关系

1.  技术是为了解决业务的问题而产生的,没有了业务,技术就没有了存在的前提。 
2.  有了更好的技术,效率更差的技术,就会慢慢的被淘汰,消失,一切都遵从人类的利益诉求–也就是业务
先有技术,才会有架构

如果在公司推行一种技术架构或技术理念,从项目管理角度分析,首先需要确认干系人,把所有利益相关人都归拢到自己的管理体系中,这样才能把人和事都有机结合。

下载地址:https://download.youkuaiyun.com/download/huaishu/9749896

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值