概识软件架构
架构漫谈 简单的说了一下架构大致为:
什莫是架构(架构师是干什莫的
怎样做好架构(架构师应该如何做
软件与架构的关系
架构好比是盖房装修,首先是先实现基本功能,如果连基本的吃喝拉撒睡 都解决不了 那房子就失去了基本的意义;解决了基本的生存 ,人就会期望过得舒服一点 ,装修好点;再就是生活方便 最好是我想吃饭 脑子里一想 就自动做出美味的菜肴。当然现在有些不现实,但一定会实现。
架构师的工作,既然都称之为 ‘师’ 了,没见过那个师傅要亲力亲为吧,(虽然我们大多数从事这一行业的人是这样,但只要你想改变肯努力,既可以不亲历亲为。)为‘师’ ,即会切分 分配工作 ,剖析问题,解决最终目的。我可以让每个人各司其职,虽然他们不知道,自己每天早一颗小小的螺丝钉,能有甚麽大出息。但我可以把他们做的螺丝钉 最终组装成大汽车 给他们开。架构师具备逆向思维 从现象看到问题 到每一个问题 重中之重。
随着软件的规模的变大,做好一个软件也变得越来越难了。早期的程序员写程序,主要是为了帮助自己研究课题。这些程序员熟练了之后,提高了自己的生产力,并发现还可以帮助别人写程序,慢慢软件就变成了一个独立的行业。程序从早期由一个人完成,也逐渐变成了由很多不同角色的人共同合作来完成。以下讨论的前提,都是基于帮助别人写程序,多人合作的基础上的。结论对于单人为自己写程序也适用。软件开发就开始有分工了,行业知识和业务的识别软件架构的出现也是同样的。一开始是懵懵懂懂的去写软件,后来慢慢的就有意识的去切分,演变成了不同的架构。这个背后的动力也是一样的,就是提升参与的人的利益,降低成本。导火索也是软件工程师的任务太重,我们需要把很多工作拆分出来。拆分的原则也是一样的,如何让权责一致。同样,这个拆分也是需要组织架构的调整,来保证架构的落地。