重構機房收費系統 起步

2021-08-27 10:53:25 字數 3084 閱讀 6885

開始機房收費系統重構也半個月過去了。但看自己的系統連乙個簡單的登入還沒有實現。自己不免有些慚愧了。最近自己的學習狀態總的來說還是不錯的。但是由於自己對原來的知識掌握的不好所以導致了自己不知如何下手。總是感覺有好多的問題要解決:

寫軟體開發文件。

畫資料流程圖

畫e-r圖畫

uml圖

學習使用

ea建立資料庫

學習觸發器的使用

學習儲存過程的建了與使用

學習資料庫的規範化

學習ado.net

學習使用

sqlhelper

對資料庫訪問類的封裝。

使用設計模式

盡可能多的使用設計模式。

使用三層架構

學習使用命名規範

把這些問題都列出來,發現都是以前學過的內容。但是由於自己當時學的不紮實現在只能回過頭來都看一遍了。返回去看了好多同學的部落格,感覺收穫挺大的。

通過半個多月的的大複習。前幾天終於開始我的機房收費系統個人版了。先從寫文件開始,但是我發現寫到概要設計的時候我實在是寫不下去了。原因是要寫資料字典和介面實現。記得自己第一版的機房收費系統是在系統已經完成的前提下寫的。寫文件的時候可以看著系統一點一點的寫。自己用了那幾個方法,需要定義什麼變數(當然那時候是沒有介面的概念的)自己清楚的很。但是現在沒有做系統的時候就要把這些都寫出來。肯定是不能拿原來的系統作為參考的。那時的系統自己從來沒有考慮什麼命名規範三正規化的。而且那時候更沒有使用介面、設計模式。這讓我怎麼寫呢。

但是話說回來些文件的目的就是為了方便開發的。些文件和畫

uml圖應該是要佔整個開發過程

80%的時間的。

對於我這種剛剛體會了一點物件導向的思想的菜鳥來說,讓我做到運籌帷幄,決勝千里。好像有點難了。於是我大膽的決定,在文件只寫到了概要設計的時候我開始了程式設計實現。

從vb到c#

到vb.net

這個過度應該說是不大的。但做得真正的靈活運用還真得多倒騰幾遍。開始用

vb.net

編碼時總感覺不知道如何下手了。

但幾天的摸爬滾打總算實現了簡單的登入。

總結幾個技術要點值得注意。。

1.shared

和static

關鍵字:

參考閱讀:

vb.net中shared和static關鍵字的區別解密

其中vb

中static

關鍵字的作用為:

在類中的

static

成員變數

意味著它為該類的

所有例項所共享

,也就是說當某個類的例項修改了該靜態成員變數,其修改值為該類的其它所有例項所見;

vb.net

中shared

關鍵字的作用:

共享類或結構的成員使每個例項都可以使用該成員,而不是採用非共享模式,在非共享模式下,每個例項都需要有自己的副本。例如,如果乙個變數的值應用於整個應用程式,這點很有用。如果宣告該變數為

shared,那麼所有例項會訪問相同的儲存位置,而如果乙個例項更改了變數值,所有例項都會訪問更新後的值。

由此可見vb.net

中的shared

關鍵字的用法和vb中

static

的用法是相同的。

2.

未能載入檔案或程式集「」或它的某乙個依賴項。系統找不到指定的檔案

解決方法:

按照三層的架構,是

dalfactory

程式集裡通過反射建立針對特定資料訪問層裡的對應類例項,這樣

bll呼叫介面時就知道呼叫這個對應類例項裡的實現方法

而反射動態引導程式集是通過這種方法

assembly.load("

程式集").createinstance("

命名空間.類

"),其中的「程式集」讀取的是

web層

bin資料夾下對應的

dll,

即反射載入的程式集

dll在

ui層的

bin資料夾必須有,不然就會出現如題的錯誤。

只需把dal

層的變異路徑放到:

ui層的

bin資料夾。

但這之前一定要保證一下幾點:

1.反射程式設計要求在**的

bin資料夾中有已經編譯好的

.dll

檔案(即保持

dll檔案存在),並且保持名稱和編譯前類庫的名稱一致。

可稱:新增引用性。

2.檢視**中的專案(類庫)屬性,確認是否預設命名空間和程式集名稱以及

bin資料夾下的

dll檔名稱是否一致,不一致則會出現未能載入檔案或者程式集,所以的修改專案的屬性。

可稱:名稱一致性。

3.建議在程式設計的時在建立類庫的時候寫上系統名稱

+專案名稱,能夠有效的避免

bug產出。即:

systemname.model

或者systemname.idal。eg

:bbs.model

。可稱:名稱完整性。

assembly.load(path)

其中這個

path

是載入你專案

web下

bin目錄的程式集

,也就是說你要反射的程式集在你的ui的

bin下一定要有

,看看你引用沒有呢?

4、model

無引用。 5

、dalfactory

引用idal

,通過讀取

web.config

裡設定的程式集,載入類的例項,返回給

bll使用。 6

、sqlserverdal

引用model

和idal

,被dalfactory

載入的程式集,實現介面裡的方法。

兩個主要的問題。大家可能也會遇到。

當然不止是這兩個問題。而且以後的問題也一定很多。但**是一點點寫的不寫是永遠完不成的。想動手還沒有動手重構的同學希望對你們有幫助。

重構機房收費系統(一)

從10月 1號開始重構學校機房收費系統 沒想到這次重構,推翻 再重構 用了兩周時間。這次整體架構採用三層,並融入了一些設計模式。下面介紹這次重構的過程 一 從uml 用例圖開始 對於機房收費系統的需求已經很熟悉了,用例和角色都已經提取出來了,在這裡遇到乙個問題,就是,究竟是根據角色劃分用例,還是根據...

機房收費系統重構 二 總結

奮鬥了二個多月的機房收費系統個人重構版終於完成了 尤其是這個暑假基本上都在 跟它死磕 其中的各種糾結就不在這裡囉嗦了 下面重點說說這次重構的過程和收穫 其實這個準備階段就是各種嘗試 各種受打擊 剛開始的時候沒有給自己乙個詳細的規 劃 導致自己基本上不知道該幹什麼.文件 畫圖,資料庫各種敲 各種畫 各...

重構機房收費系統(一)

從10月 1號開始重構學校機房收費系統 沒想到這次重構,推翻 再重構 用了兩周時間。這次整體架構採用三層,並融入了一些設計模式。下面介紹這次重構的過程 一 從uml 用例圖開始 對於機房收費系統的需求已經很熟悉了,用例和角色都已經提取出來了,在這裡遇到乙個問題,就是,究竟是根據角色劃分用例,還是根據...