架构师需要知道的97件事-01-06

翻译 From 97.Things.Every.Software.Architect.Should.Know 主要翻译内容为个人的总结,不保证翻译的准确性 

转载请注明来自:http://blog.csdn.net/huntersjm/article/details/39956799

1:不要把之前的经历放到现在的项目中

(不要因为之前使用过,现在就直接使用而不考虑更优秀的解决方案,这样不会有好结果)

客户不会在乎你是否与最新的技术保持,同时客户不会愿意为此付费,作为一个架构师,需要协调各方面的利益。同时为了进步,架构师,需要去不断的接触优秀的前沿的技术,这样才能帮助个人更好的成长。如果能够使用比较好的技术,快速有效的解决问题,将会有更多的时间去学习,研究技术,这样可以帮助自己更好的成长。将客户的长期需求考虑好,而不是自己的短期需求,会帮助个人,团队走的更好!

评:1:使用对的技术,而不是自己更熟练的技术,考虑好各方面需要的代价。2:学习新的技术,帮助自己成长的更快,更强。3:考虑好长期的需求,减少改动,对于整个项目来说会更加有利。

2:简化必然会发生的复杂性,减少发生偶尔复杂性的次数

必然的复杂性,显而可见,就是指常见的可能性,比如在某些系统中,数据库读的任务是每个业务都大量需要的,这时,就需要用一些技术(缓存,读写锁?)来保证读的高效率。相反的,对于此类系统,可能也有一些偶尔的大数据量写任务,此时,写任务会影响到读任务的进行,且该类写任务比较复杂,就可以尽量减少其发生,在架构设计上避免这些任务的发生。

解决必然的复杂性,减少偶发的复杂性,这很重要!

评:1:可以将必然的复杂性进行分解,包括时间空间上的分解(架构级别,业务级别等),来减少复杂性 2:可以讲偶然的复杂性控制住,比如调整偶然的复杂性到业务空闲的时间内进行,来减少系统的负荷等。

3:很多时候,面临最大的问题不是技术的问题

很多时候,项目遇到的问题并不是技术上的问题,包括技术的选型等方面。

要学会和开发人员沟通,听取他们的意见来改进项目的架构设计等。同时,要让开发人员感觉到被尊重,这样可以达到更好的效果。这对于成长为一个有效的架构师非常有效。1:需要用沟通对话解决问题而不是对抗2:调整好状态再进行对话。否则效果会不好!3:通过更多的人一起讨论来达成共同的目标,避免少数人的不同意。

评:技术有时候不是最大的问题,有效的沟通可以帮助解决很多的问题,通过有效的沟通也可以帮助个人学习到更多的知识。

4:沟通是王道,有效沟通的关键是清晰和领导力

没人愿意去看一份厚厚的文档,所以需要很清晰,很简单的让开发人员理解。具体的做法可以是,画几张图,或者白板会议,这样可以让大家很清晰简单的理解,同时可以提出自己的观点来帮助改进。

架构师本身也是领导,所以需要有足够的领导力。要赢得开发人员的尊重。(具体怎么提高领导力推荐看一本书:如何提高领导力)

评:清晰的让开发人员认识到问题,然后讨论改善,然后在合适的时候领导开发人员。

5:架构有时候很影响性能

....................................

6:很多时候,需要从问题的本身寻找突破口

即:如果只是一个要求,可能解决起来很麻烦,但是当,如果能够了解问题的本身,来通过问题本身设计或者思考别的方向的解决方案,或许会更有效,同时开发起来也简单很多。

评:这点真的很重要,因为问题很多时候,可以换个更简单的解决方法,而不是用固有的思想方向去解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值