個人版的機房重構花費了乙個月的時間,也算是完畢了。如今整理一下三層機房收費系統裡面的小問題。對於使用三層架構的機房收費系統來說,資料庫的設計是乙個重點。可是三層架構的小例項也是經典。
為什麼非常多人在開始專案之後,都無從下手?
由於三層的那個例項沒有看懂(並非沒有實現)。三層架構的登陸例項,實現不是目的,我們就是要從這個例項中學習,三層的是怎樣劃分,而且是怎樣呼叫的。
機房重構的準備工作:
在學習完三層架構理論之後,緊接著的專案就是個人版機房收費系統。
對於三層結構的登陸例項,假設能夠理解的話,那麼個人版就已經能夠開始了。
建議:
1、三層架構的例項,一定要理解。
2、包圖,一定要自己切身體會實現過之後 經自己思考畫出來。不可網上直接抄。
3、個人版機房,至少有乙個抽象工廠吧,那你為什麼不在三層例項中就用一下呢。
資料庫的設計:
資料庫的設計,主外來鍵的約束,三正規化。(一定要自己設計資料庫)。對於之前第一遍機房使用的資料庫,一定要拋棄,由於裡面有太多冗餘的地方了。
機房**:
你假設問,我開始做機房收費系統了。我是先繪圖,還是先實現**。
儘管是應該,先繪圖,後寫**。可是你乙個剛剛接觸三層的人來說,讓你繪圖,你畫的出來嗎。即使你能畫出來,你能保證順利實現嗎。
1、剛剛接觸三層的人,你總要去用**來理一下自己的思路。至少你要每種操作敲一條線吧。之後再繪圖。
2、**的除錯,錯誤。這是一種經驗,逐語句除錯,能夠總結一些 錯誤 的根源。
3、資料庫助手類sqlhelper,不要等做完系統之後再加,在你實現的時候,你就不認為d層裡面有太多的反覆嗎。當你敲反覆**的時候,你就要停下來思考一下了。
4、在多張資料表的情況下,嘗試使用檢視。
5、在實現功能,執行多個操作的時候,嘗試使用儲存過程、事務、觸發器等。(ps:能夠大量節省**)
ui的設計
ui的設計,也是乙個重要的工作,千萬不要侷限於第一次機房的視窗介面。
對於常常泡網咖的童鞋,類似的ui見識肯定非常多吧,多多考慮下自己用的時候的感受,我相信,設計乙個這玩意兒問題不大吧。
文件的編寫:
你是不是以為,uml圖已經畫完整了,機房**僅僅須要依照圖來實現不就的了嘛。那寫文件有什麼用啊。
對於三層之間傳遞的引數,大部分都是傳的實體。你知道u層傳給b層的實體裡面有哪些屬性嗎。碼農實現起來也不輕鬆啊。
所以,文件裡面就要給出具體的過程吧。
關於datatable的使用
在基本快完畢個人重構的時候,突然開會說,禁止使用datatable。這一下子,可就爽歪歪了。回頭看一下自己的**,裡面有不少使用的datatable,就連能夠使用實體的地方,我都用了datatable。
最初剛接觸的時候,先用的實體、後用的datatable。之後我就糾結究竟用哪個的時候,我看到了曙光。我就不告訴你,我是看九期他們系統裡面都是datatable,我才使用的。
只是細緻想想也對,datatable使用的範圍非常大。範圍大的弊端就是,程式猿在看到返回值datatable的時候,根本知道裡面有哪些字段。這就不是物件導向的做法了。
在重構機房的時候,交流學習的一大途徑。非常多實現,網上都能找到比較好的方法。
個人重構,就是要形成一幅自己的程式設計風格,交流也是增強自己的程式設計技巧。一些錯誤,經歷過之後,也許就會更加深刻。少年,先做吧。錯了再改,你的收穫肯定不小。
個人機房重構總結
機房個人重構已經結束兩周了,現在已經開始軟考的複習,雖然做的很不滿意,但畢竟自己努力實踐了,所以總結是必須的。知識方面,機房重構中根據e r模型建立資料庫,應用vb.net語言編寫,三層的架構設計思想,實現分層,提高開發的靈活性。加入了設計模式中的抽象工廠模式,模板方法模式,提高 的復用性,通過sq...
機房重構總結
萬事開頭難,也不知道是哪位大師說的,這次機房的重構讓我深刻的體會到了這句話的含義。剛剛接觸分層,對分層也不理解,照著三層登陸的例項敲乙個登陸出來,然後看著網上的包圖,就想著加乙個抽象工廠,簡直無從下手,不斷的看書,也請教前人。到最後看抽象工廠的設計模式都不用看目錄,直接翻開了。無從下手,不知所措,這...
機房重構總結
機房重構這個專案已經完成了,是時候總結一下這段時間的感受。其實按照軟體的生命週期來講,應該是可行性分析 專案開發計畫 需求分析 概要設計 詳細設計 編碼 測試 維護這個流程的。之前已經做過第一遍機房收費系統了,所以有些步驟就省略了,這次先是自己設計的資料庫,然後就開始編碼,之後開始測試,最後找 驗收...