《架构漫谈》阅读笔记
這個(gè)禮拜,我精讀了架構(gòu)漫談這本書(shū),感覺(jué)自己對(duì)架構(gòu)方面的知識(shí)有了更為深刻的了解。感覺(jué)學(xué)習(xí)了架構(gòu)之后,能對(duì)自己的學(xué)習(xí)和實(shí)踐有更大的幫助。在這個(gè)學(xué)期眾多的結(jié)組任務(wù)中,我們可以通過(guò)架構(gòu)的知識(shí),來(lái)界定小組目標(biāo)系統(tǒng)的邊界,并將目標(biāo)系統(tǒng)進(jìn)行切分之后再把相應(yīng)的任務(wù)分配給組員,這樣可以讓小組有機(jī)地聯(lián)系起來(lái)并進(jìn)行合作。接下來(lái)是我對(duì)架構(gòu)漫談的一些學(xué)習(xí)的心得。
首先,讀一本書(shū)我們要明白的第一件事情就是我們?yōu)槭裁匆x,我們需要從書(shū)中獲得怎樣的收益。相同的,這本書(shū)的標(biāo)題是架構(gòu)漫談,所以理所當(dāng)然的我們應(yīng)該首先認(rèn)識(shí)一下,什么是架構(gòu)而我們?yōu)槭裁匆獞?yīng)用架構(gòu)。所以到底什么是架構(gòu)呢,書(shū)中給出了明確的總結(jié):1.根據(jù)要解決的問(wèn)題,對(duì)目標(biāo)系統(tǒng)的邊界進(jìn)行界定;2.并對(duì)目標(biāo)系統(tǒng)按某個(gè)原則進(jìn)行切分,切分的原則要便于不同的角色,對(duì)切分出來(lái)的部分,并行或串行開(kāi)展工作,一般并行才能減少時(shí)間;3.并對(duì)這些切分出來(lái)的部分,設(shè)立溝通機(jī)制;4.根據(jù)3,使得這些部分之間能夠進(jìn)行有機(jī)地聯(lián)系,合并組裝成為一個(gè)整體,完成目標(biāo)系統(tǒng)的所有工作。所以架構(gòu)到底有什么用呢?其實(shí),架構(gòu)實(shí)際上就是指人們根據(jù)自己對(duì)世界的認(rèn)識(shí),為解決某個(gè)問(wèn)題,主動(dòng)地、有目的地去識(shí)別問(wèn)題,并進(jìn)行分解、合并,解決這個(gè)問(wèn)題的實(shí)踐活動(dòng),而架構(gòu)的產(chǎn)出物,自然就是對(duì)問(wèn)題的分析,以及解決問(wèn)題的方案:包括拆分的原則以及理由,溝通合并的原則以及理由,以及拆分,拆分出來(lái)的各個(gè)部分和合并所對(duì)應(yīng)的角色和所需要的核心能力等。
在了解了什么是架構(gòu)和架構(gòu)是用來(lái)做什么的之后,就像老師上課所提的問(wèn)題一樣,我們應(yīng)該明白如何做好架構(gòu)之識(shí)別問(wèn)題,這是一個(gè)架構(gòu)的基礎(chǔ)和核心所在。就是上課的的那個(gè)笑話例子來(lái)說(shuō),老師叫了五名同學(xué)起來(lái)回答,什么是問(wèn)題的本質(zhì),但是大家都沒(méi)有看到關(guān)鍵所在,所以都沒(méi)有答出正確的答案。其實(shí),出現(xiàn)這個(gè)現(xiàn)象是由于我們大部分的時(shí)候都過(guò)于關(guān)注解決問(wèn)題,急于完成自己的工作,而不關(guān)心“真正的問(wèn)題是什么而造成的”。當(dāng)我們?nèi)ソ鉀Q一個(gè)問(wèn)題的時(shí)候,一定要先把問(wèn)題搞清楚。這也是我為什么要單獨(dú)寫(xiě)一篇文章講這個(gè)的原因。去看看軟件開(kāi)發(fā)工作者的時(shí)間分配也可以看出,大家大部分時(shí)間花在討論解決方案和實(shí)現(xiàn)的細(xì)節(jié)上,基本都不會(huì)花時(shí)間去想“問(wèn)題是什么”。或者即使想了一點(diǎn)點(diǎn),也是一閃而過(guò),憑自己的直覺(jué)下判斷。只有真正投入思考問(wèn)題是什么的工程師,才可能會(huì)真正的成長(zhǎng)為架構(gòu)師。那么如何識(shí)別問(wèn)題呢?所有的概念基本都有一個(gè)很大的問(wèn)題,就是缺乏主語(yǔ)。而我們大家都心照不宣的忽略這個(gè)主語(yǔ),溝通的時(shí)候也都以為大家都懂得對(duì)方說(shuō)的主語(yǔ)是誰(shuí),結(jié)果大家都一起犯錯(cuò)誤。識(shí)別問(wèn)題的一個(gè)最大的前提就是要搞清楚:是誰(shuí)的問(wèn)題。這個(gè)搞清楚了,問(wèn)題的邊界也就跟著確定了,再去討論問(wèn)題才是有意義的。
在上課的時(shí)候,老師讓我們仔細(xì)閱讀了架構(gòu)漫談的第八章:從架構(gòu)的角度看如何寫(xiě)好代碼。在我們之前的學(xué)習(xí)編碼中,我們并沒(méi)有對(duì)架構(gòu)的概念,所以就上個(gè)學(xué)期軟件需求分析的大作業(yè)來(lái)說(shuō),一開(kāi)始編程的時(shí)候并沒(méi)有想太多,就是針對(duì)各個(gè)不同的功能來(lái)設(shè)計(jì)了頁(yè)面就行了,結(jié)果在之后需求不斷變更和要求不斷增加的時(shí)候,才發(fā)現(xiàn)很多的時(shí)候都要對(duì)自己的代碼推翻了重新編寫(xiě)才能更好地去解決問(wèn)題,不然有些問(wèn)題根本是難以實(shí)現(xiàn),所以就感覺(jué)上個(gè)學(xué)期的工作量特別的大,這實(shí)際上就是當(dāng)初為了完成任務(wù),沒(méi)有充分思考所帶來(lái)的后果。就像書(shū)中作者游泳教練所說(shuō)的道理一樣“業(yè)余選手,越想從水里浮起來(lái),就越想把頭抬起來(lái),身體反而沉下去。只有克服恐懼,把頭往水里壓下去,身體才能夠從水里浮起來(lái)。真正專業(yè)的習(xí)慣往往是和我們?nèi)粘5男袨橄喾吹摹薄N覀冋嬲胍焖俚赝瓿纱a工作,就要克服自己對(duì)時(shí)間的恐懼,真正的去研究業(yè)務(wù)的問(wèn)題,如果我們?cè)绞窍牍?jié)約時(shí)間來(lái)應(yīng)付差事,我們就越會(huì)花更多的時(shí)間去解決因?yàn)閼?yīng)付而產(chǎn)生的問(wèn)題。
通過(guò)了對(duì)本書(shū)的精讀,讓我了解到了架構(gòu)的重要性。在本書(shū)中,我理解了架構(gòu)的真諦:架構(gòu)之識(shí)別問(wèn)題和架構(gòu)之架構(gòu)切分。希望通過(guò)以后對(duì)架構(gòu)的更深刻的學(xué)習(xí),能夠提升自己發(fā)現(xiàn)問(wèn)題和思考的能力。
轉(zhuǎn)載于:https://www.cnblogs.com/wxyxxx/p/6495626.html
總結(jié)
以上是生活随笔為你收集整理的《架构漫谈》阅读笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 写出优雅的代码
- 下一篇: BZOJ 1003 物流运输trans