架構之路:前言目錄

+++++++++++++++++++html

2016年11月23日 補充架構

後續行動:倡議:咱們「一塊兒幫」post

+++++++++++++++++學習

 

終於決心再一次開始這個系列的博客了。之因此說再一次,是由於我以前曾經試着寫過這樣一個系列,但中途卻不得已停了下來。我總記得「以前」就是一兩年前,查看博客後才發現原來那竟然已是三年前了!不由感慨歲月如梭,時間都去哪兒了?大概我轉行作軟件開發的時候,個人小女兒也開始孕育。現在,她已是亭亭玉立的一個小姑娘,天真浪漫;而我這六七年的收穫呢?測試

 

我學計算機學開發,目的很明確,就是奔着「架構」來的。固然,最初我不知道這個名詞,我覺得我就是去學「作網站」的。何時可以學會?最開始我覺得三個月應該夠了,而後延期到六個月,再延期到一年、兩年……直到如今。在這個過程當中, 我算是深入的體會到「學無止境」,或者「學得越多越覺無知」是什麼意思。網站

 

三年前以爲本身應該有資格能夠顯擺一下了,但到中途卻愈來愈迷茫困惑,因此不得已再去摸索實踐。沒想到,這一摸索實踐,又是三年過去了!三年過去了,實事求是的說,我比三年前更心虛了:一些之前深信不疑的觀點變得猶豫起來,一些從未有過的想法時不時的蹦了出來,新的技術猛烈的衝擊着舊有的體系……我會不會仍是誤人子弟而已?url

 

思前想後,我仍是下定決心,從新開始這個系列。由於我百分百的相信,即便再過三十年,我也不會成爲一個完美的架構師擁有一個完美的架構。因此,沒有必要等到「完美」,也不可能有真正的「完美」。就在如今吧,把個人所學所思所得都展現出來,和你們一塊兒交流碰撞,於人於己,都善莫大焉。htm

 

架構太難了!準確的說,是把架構作好太難了。對象

 

我曾經把技能分爲兩類:會和好。好比:「我會寫字」和「我字寫得好」,這徹底是兩種不一樣的境界。「會」其實很容易,而「好」則很難。而很不幸,架構就是一個專一於「好」而不是「會」的技能領域。任何一個系統,不管大小好壞,都有架構;因此只要能開發出一個系統,就已經「會」架構了。但咱們的關注點,顯然在於如何進行「好」的架構。這個問題如此難以問答,以致於我尚未發現過一本專門論述該問題的書籍。被奉爲經典的《企業應用架構模式》更像是一個架構彙編,告訴咱們有哪些哪些架構模式而已(固然,咱們不可否定它的巨大價值);其餘相似的書籍實際上也未能給出明確的答案。在網上,相關的問題一般最後演變成一場「口水戰」,讓人眼花繚亂最終不知該何去何從。blog

 

我實在查不到這段話的出處,但大意是:爲何講解架構這麼難(好比爲何要分層要抽象要封裝)?由於若是沒有一個足夠複雜邏輯的例子,就沒法展現這樣作的好處;但若是給出一個足夠複雜邏輯的例子,就不得不花費大量的篇幅首先講明這一堆複雜的邏輯,而讀者在暈頭轉腦的理解這些複雜業務邏輯以後,很難再有精力來思考架構的技術問題自己。

 

因此我最後決定採用這種方式來學習:本身去搭建一個有足夠複雜業務邏輯的系統,在實踐中一步步的學習領會各類架構知識。這是一個很笨的方法,但確是一個頗有效的方法。伴隨着系統的不斷開發完善,書上的不少說法得以印證,我以前的不少想法得以改變。每寫一行代碼,我都能感受到個人一分進步!軟件開發是一門實踐藝術,坐而論道每每不如身體力行,正應了那句話,「紙上得來終覺淺,絕知此事要躬行」。

 

因此,接下來我將以兩個目前仍在開發的項目(詳見:英雄帖:開源項目招募英才)爲例,一步一步的講解,如何經過領域驅動和測試驅動,進行敏捷開發,構建一個面向對象的B/S系統。

相關文章
相關標籤/搜索