根据我们的课程要求,我认真阅读了王概凯老师写的《架构漫谈》,理解了一下几个方面:
(1)什么是架构
把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。
(2)为什么要出现架构
- 必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构了)
- 每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有少部分人可以左手画圆右手画框,但是不是普遍现象)
- 每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅长于这些工作的角色来完成,见 2,从而缩短时间)
- 人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了)
- 目标系统的复杂性使得单个人完成这个系统,满足条件 2,3(如果个人就可以完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架构思考,但考虑更多的是如何提高质量,提高个人的时间效率)
(3)结构解决谁的问题
架构实际上解决的是人的问题
(4)举实例分析,例如用MVC模式分析自己家庭架构。
Model:从早到晚的一切家庭业务,例如:打扫房间、做饭、吃饭、洗碗等。
Views:
1)
自己房间自己打扫,效果较显著,很干净。标准是人看着感觉整洁舒服。
2)
早晚饭我做,午饭父母做。效果:都挺好。标准:爱不爱吃。
3)
洗碗:谁最后吃完谁洗。效果:干净。标准:碗中的水既不凝成水珠,也不成股流下。
Controllers:到点了就做该做的事儿。
总而言之,架构,就是:
- 根据要解决的问题,对目标系统的边界进行界定。
- 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
- 并对这些切分出来的部分,设立沟通机制。
- 根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
标签:读后感,漫谈,架构,概凯,系统,切分,完成 From: https://www.cnblogs.com/wyq134214/p/17132940.html