學宇 講三層 收穫

2021-05-24 12:53:49 字數 1410 閱讀 3638

第一,用例講解。

用例分可以有兩種分類方法,乙個是按照功能模組分,乙個是按照角色分,這兩個各有優劣,按照什麼分得看使用者要求時候的切入點是什麼。按照使用者角色分到跟下面的類打交道的時候可能更清晰一些,按功能模組分可能當某部分除了問題查詢的時候更方便。同時用例的分析得細緻有度,也不能夠太細緻。

第二,包圖。

具體分了三層,ui層,bll層,dal層,實體層,每一層乙個包。前三層是前一層依賴後一層,他們三層跟實體層是關係關係,不是依賴關係(待查證)。同時實體層存放的不一定都是表。對於一些全域性變數等的資訊要建立乙個類,然後變數作為類的乙個屬性被呼叫,這些類一般放在實體層。所以一般實體層類的數目肯定是大於等於表的數目。

第三,包中的類圖。

一》,介面層無異議,都是乙個窗體乙個類。

二》,然後業務邏輯層,三種分法。一種是增刪改查算四個類就可以,但是這樣分類太粗了,不足以起到為窗體中的方法分類概括的作用。還有一種是按照表來分,因為這些窗體中的方法都是對不同的表進行的操作,這樣可以把所有窗體這些方法歸為對乙個表的操作為乙個類,但是這裡考慮到表可能會變動,所以為了體現少變動的原則,為了在表發生變動的時候這個類不要再新增對應的類,所以最好不要這樣分類。第三種就是每乙個窗體對應乙個類,畢竟這個層是為窗體層服務的,這樣分類才說得過去。

三》,之後是資料連線層,跟業務邏輯層一樣,我第一次分類就是按照增刪改查分了四個類,這樣當增加乙個表的時候這個表中的每乙個類都要發生變動,所以不可行。然後就是按照每乙個表建立乙個類與之對應比較可行,然後每乙個類有增刪改查方法。這樣可以起到為資料庫中的表服務的作用。

》四裡面可以放全域性變數等的其它類。

到這裡明白了為什麼每乙個層有這些類了。然後是聽完後明白了一些關於分類的新的東西。

一》首先說介面,其實每乙個i層跟層之間都可以由乙個介面的,然後呢可以乙個類對應乙個介面,也可以乙個層緊緊有乙個介面,同時還可以乙個層先有乙個介面,下面再每乙個類對應乙個介面,兩層介面是繼承和被繼承的關係。

二》,考慮到了介面,就要考慮用一些工廠模式等的設計模式了,這樣會更優化結構。

三》,考慮完了這些就是考慮到時序圖的時候,需不需要考慮把需要判斷的在建模的時候建立出來。答案應該是跟資料庫相關的判斷要畫出來,然後跟資料庫無關的在時序圖中就沒必要畫出來了。在活**等其他圖中體現出來就是了。

第四,類中的方法。

對於業務邏輯層中的方法具體該如何定。俗話說是有什麼操作就如何定方法,比如查詢學生資訊,那就乙個查詢方法。但是那如果說是上機,那算是什麼方法呢,所以我感覺應該是設計到對乙個表的乙個增刪改查這樣乙個操作了,那就算是有乙個方法了。(這裡注意,每乙個方法的後面應該註明傳遞的引數。)

對於下面資料連線層,是對錶的具體操作,自然就是每乙個類乙個增刪改查方法了。

資料表中類就是沒有方法,並且乙個屬性對應表的乙個欄位了。

以上就是到現在為止對建模的全部理解。然後在慢慢作圖過程中肯定還會有不同的分類方法,在具體實現過程中還會有更多的問題,以後遇到再說了。

三層 我眼中的三層結構

從行為型模式命令模式引發的對三層的思考。記得 大話設計模式 中對命令模式的講解。燒烤攤和燒烤店之間的區別。由於客戶和烤羊肉串老闆的 緊耦合 所以容易出錯,容易混亂,也容易挑剔。這其實就是 行為請求者 與 行為實現者 的緊耦合。對請求排隊或記錄請求日誌,以及支援可撤銷的操作等行為時,行為請求者 與 行...

成也三層,敗也三層

這重構版的機房的計畫早就開始,但開始的僅僅是計畫,卻遲遲沒有行動的意思,於是頻頻地徘徊著,迷茫著。這都過去三個星期了,每次的停滯不前我都有自己的理由,但是我應該從心底裡明白 成也三層,敗也三層 用三層對機房收費進行重構是乙個坎兒,這就是乙個對我們的的考驗,挺過去的就是通往下一站的乘客,沒過去應該就和...

三層架構 之三層擴充套件七層

哎,真心不想在這裡寫這篇部落格,本來三層到七層頂多了也就用兩天時間去分析,結果我用了將近四天,最後我都快崩潰了,還有好多問題都是同學幫我找出來的,真是很是汗顏吶!下面是我三層架構擴充套件成七層架構的uml包圖 之前看別人都是用的vb.net版,我就覺得剛學習了c 語言,就先用c 版吧,結果倒好,兩種...