架构漫谈阅读笔记1
仔细想一想过去的两年半里面,反思本身的生活,学习,静下心来发现本身一无可取,玩的也不用开心,学也没学到啥,可是已经大三下半学期了,虽然本身也天天忙忙碌碌,学了java,C++,android,html等一些知识,可是总感受本身欠缺的不少,学到的只是皮毛,若是以这种姿态去面对下班学期的找工做,显然是不足够的,本身可能尚未一个专科学生懂得多。人老是在即将面临困难的时候才知道困难来了,不能再这样浪费时间了,本身这学期必须作出改变,好好规划本身将来应该作什么,如何作,目标是什么。java
IT行业老是变化很快,技术老是在不断更新,只要本身稍微落后一点,就可能赶不上时代的步伐被淘汰,然而一个程序员的能力和精力是有限的,每个程序员在35岁以后都不可能和年轻人去竞争,由于那时候他已经没有能力和精力去消耗了,而公司也宁愿用廉价并且精力十足,可以加班不辞辛苦的刚刚毕业的大学生,因此这时候程序员就会面临失业的状况,那么程序员该何去何从,这是每个程序员应该考虑的事情。android
软件架构师,这应该成为每一个程序员努力的方向,为了不之后的日子失业,咱们必须朝着架构师的方向努力。程序员
那么什么是架构师?这里我举一个例子,好比制造一辆汽车,若是每一个车间都要循序渐进,一步一步的来将每一个元件作好,而后在组装,就会浪费时间,每一个车间都有本身擅长和不擅长的东西,若是咱们让这些车间作本身擅长的元件,那么显然会加快效率,而架构就是至关于分工,将任务细化,最后再用一种特有的秩序或规则整合起来,造成一个总体,这就是架构的意义。而设计这些时,那些用来沟通的规则或秩序必须设计好,能确保每一个边界即相互独立又能相互沟通。架构
其实一个国家体系就是架构的完美体现,各个部门,行业,都是架构的完美体现,而且这个架构是能够随时改动,不断完善的。学习
而作好架构最重要的就是理解概念,什么是概念,就是对一个物体一件事情的解释,可是有些时候世界是不清楚的,只能用抽象,或类似的同义词来形容描述这个物体或事件,而经过这些解释咱们就能很好的理解全面的认识这个事物,挖掘出和之相关的一系列东西,进而才可以认识目标领域所须要解决的问题,这样才可以为作好架构打好基础。spa
那么认识了概念,怎样正确理解这个概念所包含的问题,所须要被解决的问题。这就是要正确识别问题。而识别问题最关键的就是知道是谁的问题,解决什么问题,一个who,一个what,只有搞清楚这两个w,才能很好的识别出问题,肯定出问题的边界。做为软件工程师或者架构师,咱们大部分时候是要去解决别人的问题,“别人”是谁,是值得好好思考的。找出问题的主体,是作架构的首要问题。这也是我一再强调的,咱们要解决的问题,必定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是本身的问题。再进一步,咱们必定要明白,任何找上架构师的问题,绝对都不是真正的问题。为何呢? 由于若是是真正的问题的话,提问题过来的人确定都可以本身解决了,不须要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加剧要。大部分时候咱们会发现,其实真正解决问题的时间远比发现问题的时间要少不少,只要肯定了问题是啥,一切就简单了,难就难在问题是什么。设计
人与人之间最亲密的关系链接者就是利益。htm
架构的切分的导火索是人的负载过重。事件
架构的切分实际就是对stakeholder的利益进行切分或合并,使得每一个stakeholder的权责是对等的,每一个stakeholder能够为本身的利益负责。
架构切分的最终结果都会体如今组织架构上,只有这样才可以让架构落地并推动。
架构切分的结果必定是一个树状,这也是为何会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽量变成一颗平衡树,才能让整个系统的效率最大化。
软件的本质,其实就是经过把人类的平常工做生活虚拟化,减小成本,提高单我的员的生产力,提高人类本身的利益。软件工程师的职责在这个浪潮中,不堪重负,天然而然就分拆为不一样的角色,造成了一个独特的架构体系。这一切的背后,仍然是为了提高人类本身的利益,解决人类本身的问题。
这就是阅读了漫谈架构以后的体验,最后说一下,必定要努力,将来可期。