從王繼彬的三層視訊學習結束之後,我的第二遍個人重構VB.NET版機房收費系統,就這樣在廊坊春夏交替的季節中開始了,開始的開始,從不會敲,到慢慢上手,這一個過程,毫不誇張的說,快要到臨界點的感覺,因為真心不知道從哪兒下手,可是一路走來,蓦然回首,踏雪無痕。生活總是不免柴米油鹽醬醋茶的平凡,更是難擋喜怒哀樂聚散離的糾葛。就像學習,從來都來不得半點馬虎,所有的學習過程,都需要我們親自去經曆,去感受。步履匆匆下,無論困難與否,歲月都前行不殆,芳華之季更是轉眼即逝,我們需要做的就是一步一個腳印。

不會敲怎麼辦?拖着,一拖再拖,更不想敲,每天呆呆的對着電腦,隻能在英語哪兒找點兒安慰(我絕對沒有對英語不敬的意思,喜歡英語的小夥伴不要生氣哈),當你不會敲,當你在學習上走不下去的時候,你要怎麼辦nie,沒錯,就是找師傅,師傅在整個學習的過程中,給了我很大的幫助與指導,在此,謝謝我兩個可愛的師傅,帥帥的于亮師傅,美美的海燕師傅,找了師傅,師傅給了我,敲機房的總的路線方針:
a、Axure,原型工具,用Axure畫機房收費系統的原型圖;
b、資料庫設計,畫ER圖;
c、編碼;
d、uml圖和文檔
e、資料庫知識,sqlHelper,視圖,事務,存儲過程,觸發器;
f、加設計模式
有了基本方針,接下來就開始着手工作了,首先我了解了一下Axure工具:Axure RP是一個專業的快速原型設計工具。Axure(發音:Ack-sure),代表美國Axure公司;RP則是Rapid Prototyping(快速原型)的縮寫。Axure RP是美國Axure Software Solution公司旗艦産品,是一個界面專業的快速原型設計工具,讓負責定義需求和規格、設計功能和界面的專家能夠快速建立應用軟體或Web網站的線框圖、流程圖、原型和規格說明文檔。作為專業的原型設計工具,它能快速、高效的建立原型,同時支援多人協作設計和版本控制管理。對Axure的了解就是,現在的我們對機房收費系統已經很熟悉了,知道她是如何布局,界面是如何設計的,但是給你一個全新的系統,你不知道界面該如何布局,如何設計的時候,你就需要使用Axure工具,進行設計,給使用者一個大概的架構。這個時候,我們就需要借助Axure。
接着,資料庫設計,資料庫該如何設計,一直以來都是一個仁者見仁智者見智的問題。對于某一種資料庫設計,并不能簡單的用好與不好來區分。或許真的應了那句話,沒有最好,隻有最适合。讨論某種資料庫設計的時候,應該在某種特定的需求環境下讨論。ER圖,需要我們分析業務需求,注意各個實體之間的關系,表裡又該有怎樣的字段,這些都需要我們慢慢去分析,了解。根據實體圖,生成資料庫表。
接着就是編碼階段了,但是跟我們原來的思想不一緻,好比一個房屋在建造之前,首先是需要畫圖紙的,但是,由于對機房了解不夠徹底,不知道應該傳什麼參數,傳什麼實體,是以,先敲的代碼,再根據代碼畫的uml圖,機房收費系統從六月十四号開始,到今天結束,敲了兩遍,第一次純三層的,沒有加設計模式,沒有使用過觸發器,視圖,三層完工,第一次驗收的時候,問題也接踵而至,資料庫設計不合理,就拿學生表和卡表來說,學生表裡面該不該用卡号這個字段,卡表裡面該不該有學号這個字段,卡表裡必須有學号這個字段,因為注冊卡的時候需要有學号,那學生表裡必須要有卡号這個字段麼?答案有争議,如果學生表裡有卡号這個字段,就是說,這個學生必須注冊卡?可是現實生活中,并不是這樣的,一個學生并不是必須要有卡,可是反過來,我又想,這個是機房收費系統,我隻管持有該卡的學生,如果該學生沒有卡,她就不歸我管麼?對不?
資料庫的設計,并不能簡單的用好與不好來區分,沒有最好,隻有最合适,還要特别注意的是主外鍵的關系。注釋也是特别重要的,第一版機房收費系統,沒有太多的注釋,有的隻有光秃秃的代碼,這樣做的好處很多,比如:友善查找,友善比對,友善項目組裡的其它程式員了解你的代碼,而且可以友善以後你對自己代碼的了解與修改等等.花了十六天的時間,第一遍機房收費系統就這樣在歲月的敲打聲中慢慢遠去。第一遍敲完之後,看看小夥伴們的部落格,都是用七層寫的登入,加了接口層,外觀層,抽象工廠,看看我的三層,咳咳,人家比我的兩倍還活生生的多出了一個一,接着,我的第二遍機房收費系統,在427的鐘擺聲中,開始了.......
所有的事情,開始的開始,我都不想面對,不想觸及,不想主動去靠近她,了解她,可是,有句話說,有些事不想做卻不得不做,那是責任,有些事想要做卻不能夠做,那叫命運,慢慢長大的我們,不能由着自己的性子來,想幹什麼就幹什麼,不想幹就不幹,于是,我重新拾起番茄,在夏荷搖曳的南四樓,開始着我的七仙女登入,續寫的我和七仙女的故事,可惜我不是董永`(*∩_∩*)′,還有一件特别重要--命名,命名要做到别人看到你的名字,就知道你想要表達的意思,要不一團糟的命名,會把自己亂死。
機房收費系統終于完工了。興奮無比的驗收,卻驗出了數之不盡的錯誤。驗收的過程,無法忘卻。正是因為有了這些錯誤,讓我在這條路上越走越遠。經過驗收,首先,我看到了自己的缺陷,自己離要實作的目标還有很長的路要走。其次,我深深的意識到,僅僅從技術上完成使用者的要求是遠遠不夠的,系統地健壯性同樣重要。感覺一個成功的軟體,必須具有較好的相容性,可移植性,綠色性。最後,令我感觸頗深的是,一個軟體的成功開發,絕不是“搭雞窩”,應該在開始着手做系統之前,寫好軟體應該實作的功能,從整體上,建構出工程的梗概架構,然後再向裡面添油加醋,編寫使用者所需要的功能。還有讓我成長的就是調試,程式調試,越來越發現,程式的調試,真的需要硬功夫。設定好的斷點,能夠快速準确的找到問題所在。還有很重要的就是畫UML圖,第一版機房收費系統師傅隻簡單的要求畫了畫圖,這次,所有的圖要求全部畫完,畫時序圖的時候,這輩子真心不想再做火車了,一個個對象,宛如一節節的火車車廂,本來就暈車的我,有種看見大海的感覺。
人生像一次長途旅行,不經過溝溝坎坎,你就永遠無法抵達夢想的彼岸。生命太短,我們沒有時間留給遺憾與躊躇,若不是終點,請一直微笑向前,
若是美好,叫作精彩。若是糟糕,叫作曆練。生活就是應該充滿挑戰多姿多彩,這樣,我們才能收獲成長,越挫越勇!傷痛使人堅強,眼淚使人堅強,心碎使人更明智。是以,感謝過去,感謝個人重構,讓我漸漸長大,隻要我們泰然自處,終有一天,曆練會帶給我們一個更美好的明天,我相信,請你,也相信!