三層架構——三層登入類圖與序列圖
●前言
光說不會用,那就是一隻紙老虎。現在看C#版本的程式碼三遍,第一遍巨集觀瀏覽,第二遍照著敲,第三遍對應U層、B層、D層去研究每一部分的程式碼都有什麼作用,雖然現在還不是很透徹,但是已經邁出了第一步,接下來用VB.NET版實現,又要進入一條不歸路啦——.NET版機房重構!
●各層類關係
●類圖分析
上圖中的類是各個層之中的類,他們之間的關係有呼叫和返回兩種關係。從圖中可以清楚的看到各個層之間的聯絡,U層是呼叫B層的,B層是呼叫U層的,而這三層都和實體有關係,在這個例項中可以看到U層和實體之間是呼叫的關係,而B層是返回的關係,D層返回給實體,三層和實體都有關係,也就解釋了實體的作用是在三層之間傳遞資料。看不懂的可以先參看另一篇基礎博
不要感覺既然分了層了,各個層各司其職就不需要實體了,我們可以對比上圖想一下,現在資料交流都傳給實體就可以了,實體起到一個橋樑的作用,他封裝資料,然後將資料傳給需要的層,假如沒有了實體,那麼這三層很有可能會因為資料的傳遞而交叉引用。
●時序圖
1.VS自己生成的
VS可以自己生成序列圖,但是怎麼生成呢?我可是查了好久才發現,原來是那麼的簡單,在UI層的窗體---->右擊---->生成序列圖,沒錯,就是這麼簡單!
2.簡化的時序圖
前幾天瞭解到用EA畫的時序圖是可以轉化為程式碼的,今天通過看劉豔玲師姐的部落格,知道VS程式碼可以生成時序圖,但是生成的時序圖內容很多,如果自己想要用時序圖轉換為程式碼,就需要將上邊的時序圖簡化一下,簡化後如下:
●時序圖分析
還是從三層說起,使用者輸入使用者名稱和密碼----->用到了U層----->點選登入按鈕----->B層----->B層判斷(判斷不了)----->去D層調資料---->資料返回B層----->B層判斷----->更新Score表---->返回U層顯示結果
●總結
時序圖就是在呼叫和返回之間來回進行的。學習UML的時候我們就知道類圖和時序圖是非常重要的,通過這個例項可以看出來類圖和時序圖都可以看出三層之間的聯絡。各層類圖傳資料,實體將處理過的資料傳回來。