《架构漫谈》读后感

《架构漫谈》读后感前端

         今天学习了《架构漫谈》,对什么是架构、怎样作好架构、如何根据架构写好程序等有了更加清楚的认识。下面简单谈一下个人一些本身的想法。程序员

         首先咱们要明确的就是到底什么是架构?为何产生架构?老师上课的时候以程序员的发展来解释这个问题,在早期编程的时候,程序比较小,一我的彻底能够开发一个软件,这时候是不须要任何架构就能完成任务的;而随着计算机软件技术的高速发展,一我的编程已经成为了过去式,如今都是以编程团队为单位进行开发,这时候就须要架构来指导咱们进行开发,由此能够引出一个架构的定义:把一个总体切分红不一样的部分,由不一样的角色来完成这些分工,并经过创建不一样部分相互沟通的机制,使这些部分有机的结合为一个总体,并完成这个总体所须要的全部活动,这就是架构。数据库

         总之,架构要:1.根据要解决的问题,对目标系统的边界进行界定。2.对目标系统按某个原则进行切分。3.并对这些切分出来的部分,设立沟通机制。4根据切分出来的部分,合并成为一个总体,完成目标系统的全部工做。编程

         而后咱们要认识一下概念,这是理解架构的基础。就好比说桌子,一件平常生活中很常见的东西,可是真要是抽象出一个概念的话,咱们不必定能描述清楚,因此说要理解架构的定义,作好架构,就必需要有正确认识概念的能力。架构

         接下来咱们要作的就是正确的识别问题,就拿文章中切土豆的问题为例,女主人公让男主人公切一半土豆下锅,而男主人就每一个土豆都切了一半,结果可想而知。男主人公的错误就是没有正确的识别问题。要正确的识别问题,咱们必定要分析出主体是谁,做为一个软件架构师,咱们要解决的问题必定是别人的问题。而在这一过程当中,须要问两个问题,是谁的问题,有什么问题?学习

         当咱们完成识别问题后,就须要对系统进行切分,而切分的缘由呢?大抵有几种状况:某个或某些利益相关人等额负载过重,时间上负载过重,某个或者利益相关人的权利与义务不对等。其实切分的过程就是建模的过程,架构切分最终会产生分层,咱们要尽可能使其变成一颗平衡树,使整个系统的效率最大化。设计

         那么到底什么是软件呢?软件,其实就是用机器模拟人,在硬件上进行编程,以控制软件的各类行为。其实软件架构的发展架构的发展是类似的,开始的时候规模比较小,只须要一我的即可完成编程工做,随着软件规模的扩大化,单个程序员的编程已不能知足需求,因而便出现了架构师,人们将软件划分的工做交给架构师,让他对每一个程序员的工做进行划分,实现利益的最大化。开发

         软件架构,软件因流量增大而拆分红不一样的运行单元,在不一样机器上部署所造成的软件架构,属于软件架构。每一个运行单元为了让不一样角色的人,好比前端,业务,数据存储等可以并行工做,所分红的代码架构,也是软件架构。部署

         要成为一个优秀的架构师,咱们就不能害怕对时间的恐惧和压力,这是不自信的表现,我必定突破这个障碍,才能最终成为一个合格的架构师,另外,架构师必须是一个领导人,有实权,这样才能充分平衡别人的利益,作到利益的最大化。架构师还必须有必定的技术能力才能设计出优秀的架构。效率

         那么如何根据架构来写出好的代码呢?个人理解就是,将代码进行分层,将处理数据库操做、逻辑业务层、界面表现层分出来。这样能够下降代码的耦合程度,当须要修改代码的时候,只须要改很小的一部分就能够完成功能的改变。