<Clean architecture>学习心得:初篇

290 阅读3分钟

image.png

我虽然已经工作了很多年了,但是其实对架构的理解并不是很深,第一是自己可能那么大的执着去潜心的研究架构,第二是国内的公司大部分的要求就是拿出你的成果,对软件的架构其实并不是那么的关心。最近这份工作其实对软件的质量和设计还是比较重视的,我也有幸结识了这本书,刚看了第一章我就被作者里面的比喻吸引了,以前不知道架构具体重要在哪里,只知道它很重要。所以想通过自己的学习,将看这本书的一些心得写下来。我看的是github上一个中英翻译的,我是看一遍英文再看一遍中文,第一是培养自己英文阅读的习惯,第二是了解作者的思想。

今天就大概讲一下我看第一篇的心得吧。

架构设计的意义

第一章作者就先解释了设计和架构是什么,为什么我们要架构和设计。作者用龟兔赛跑的问题做了解释,乌龟很慢,兔子很快但是最终乌龟赢得了比赛。作者的总结就是:

  • Slow and steady wins the race. 慢但是稳,是成功的秘诀
  • The race is not to the swift, nor the battle to the strong. 该比赛并不是拼谁开始跑的快,也不是拼谁力气更大。
  • The more haste, the less speed. 心态越急,反而跑的越慢。

心急这个其实是我们写代码普遍存在的一个问题,领导想快点看到成果,我们想快点完成工作。我们的很急,因为急所以我们牺牲了架构。初看起来貌似很有成就,我们快速的完成了任务,客户快速的看到了我们的成果。那后面呢?我们会不会改需求,我们会不会增加需求?我们后面还要不要维护?最终我们让我们的效率变成了0. 后面我们越来越忙,我们忙着埋自己之前挖的抗,或者是别人挖的抗。我们需要更多的人。。。,形成了一个恶性循环。这就是架构设计的意义,刚开始它可能很慢,但是它会让你后面的工作事半功倍。

设计和架构的区别

这两个名字听起来有所相同但是又感觉不同,你可以设计很多东西,你可以设计一个变量,你可以设计一个函数,但是对于架构来说,它是一个比较大的东西,整体的东西。在我认为一个一个小的设计构成了一个整体的架构。用作者的话来说就是架构这个词往往使用于“高层级”的讨论中,而设计指代具体的系统底层的组织结构和实现的细节。