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