![學(xué)籍管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot3/2021-11/9/53a0e64c-23f2-4947-9ff4-35896e8780f1/53a0e64c-23f2-4947-9ff4-35896e8780f11.gif)
![學(xué)籍管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot3/2021-11/9/53a0e64c-23f2-4947-9ff4-35896e8780f1/53a0e64c-23f2-4947-9ff4-35896e8780f12.gif)
![學(xué)籍管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot3/2021-11/9/53a0e64c-23f2-4947-9ff4-35896e8780f1/53a0e64c-23f2-4947-9ff4-35896e8780f13.gif)
![學(xué)籍管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot3/2021-11/9/53a0e64c-23f2-4947-9ff4-35896e8780f1/53a0e64c-23f2-4947-9ff4-35896e8780f14.gif)
![學(xué)籍管理系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot3/2021-11/9/53a0e64c-23f2-4947-9ff4-35896e8780f1/53a0e64c-23f2-4947-9ff4-35896e8780f15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、體驗(yàn)MVC課前準(zhǔn)備 預(yù)習(xí)C#數(shù)據(jù)庫的內(nèi)容 下載數(shù)據(jù)庫腳本 下載老師的代碼MVC全名是Model View Controller,是模型(model)視圖(view)控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進(jìn)和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。C存在的目的則是
2、確保M和V的同步,一旦M改變,V應(yīng)該同步更新。耦合性耦合性低低重用性高重用性高生命周期生命周期成本低成本低部署快部署快有利軟件工程化管理有利軟件工程化管理MVC學(xué)籍管理系統(tǒng)ModelViewControllerDomainGUIRepositoryService類庫(Class Library)是一個綜合性的面向?qū)ο竺嫦驅(qū)ο蟮目芍赜每芍赜妙愋图希@些類型包括:接口、抽象類和具體類。將業(yè)務(wù)邏輯封裝在類庫中。把業(yè)務(wù)邏輯和用戶圖形界面強(qiáng)行分離開來。DomainBase作為一個基類,School, ProfessionalClass, Student為三個子類。性別Sex用枚舉單獨(dú)定義一個枚舉類型。
3、 領(lǐng)域模型是對領(lǐng)域內(nèi)的概念類或現(xiàn)實(shí)世界中對象的可視化表示。又稱概念模型、領(lǐng)域?qū)ο竽P?、分析對象模型?領(lǐng)域模型中的類都是一個實(shí)體。簡單說就是建立數(shù)據(jù)庫是主鍵配有ID的對象。 判斷下面有關(guān)學(xué)籍管理系統(tǒng)的名詞哪個是一個實(shí)體?(1)學(xué)生 (5)性別(2)年級 (6)姓名(3)班級 (7)年齡(4)學(xué)院 基類的性質(zhì)子類都會繼承,所以要在基類中寫子類共有的東西。注意:基類和接口不同。繼承接口的子類要重寫所有接口中的abstruct(抽象)方法。IdNumNamedomainBase有三個子類,School,ProfessionalClass和Student.根據(jù)數(shù)據(jù)庫確定三個子類的屬性。除了domain
4、Base中定義的公共屬性之外,班級還有studentNum,SchoolId,Grade和MaxStudentNum等屬性;學(xué)生還有ClassId和Sex兩個屬性。DoMain中出現(xiàn)了Sex的一個枚舉類型,規(guī)定了性別可能出現(xiàn)的幾種情況。定義了一個SexHelper類提供了Sex和String之間相互轉(zhuǎn)換的服務(wù)方法。public class SexHelper public static string SexToString(Sex sex) public static Sex StringToSex(String sex) 我們單獨(dú)為性別定義了一個類型,后期編碼經(jīng)常需要把Sex轉(zhuǎn)換成strin
5、g類型,其實(shí)我們直接把性別定義成string類型更為簡單。但這里引入了一個SexHelper類,提供他們之間的轉(zhuǎn)換服務(wù)。仔細(xì)看,類中的函數(shù)都是靜態(tài)的,這樣寫有什么好處?資源接口服務(wù)接口接下來我們要實(shí)現(xiàn)本項目的重點(diǎn)難點(diǎn)Repository。什么是Repository? 按照最初提出者的介紹,它是銜接數(shù)據(jù)映射層和域之間的一個紐帶,作用相當(dāng)于一個在內(nèi)存中的域?qū)ο蠹稀?蛻舳藢ο蟀巡樵兊囊恍?shí)體進(jìn)行組合,并把它們提交給Repository。對象能夠從Repository中移除或者添加,就好比這些對象在一個Collection對象上就行數(shù)據(jù)操作,同時映射層的代碼會對應(yīng)的從數(shù)據(jù)庫中取出相應(yīng)的數(shù)據(jù)。 非常形
6、象地說,Repository就是一個倉庫管理員,我們想從倉庫中取出什么東西或在倉庫中存入什么東西,只要告訴倉庫管理員就可以了,倉庫管理員可以幫我們實(shí)現(xiàn)數(shù)據(jù)的搬運(yùn)與管理。由于倉庫管理員的存在,我們感覺不到繁瑣的數(shù)據(jù)管理過程。由于我們的水平問題和章節(jié)限制,我們不再深入講解Repository,我們只要體會Repository是一個怎樣的存在。鼠標(biāo)右擊UI解決方案,選擇添加-新建項,彈出右邊的窗口。鼠標(biāo)雙擊新生成的數(shù)據(jù)庫文件看到左邊服務(wù)器資源管理器 點(diǎn)擊圈內(nèi)“打開文件”圖標(biāo)打開數(shù)據(jù)庫腳本文件選中資源管理器中的數(shù)據(jù)連接 點(diǎn)擊圈內(nèi)運(yùn)行或連接鼠標(biāo)右擊服務(wù)器資源管理器數(shù)據(jù)連接的Database.mdf,選擇
7、刷新,打開表文件夾,如果出現(xiàn)了Class、School、Student三個表項就代表腳本導(dǎo)入成功!雙擊解決方案管理器中的Database.mdf,在屬性欄中獲取連接字符串。打開UI里的App.config文件在里面創(chuàng)建數(shù)據(jù)庫連接 類中只定義了增刪查改之類的管理數(shù)據(jù)方法,并沒有連接數(shù)據(jù)庫的方法。怎么辦呢?左邊的圖是這個“幫助類”的類圖,從圖中我們可以看出,它添加了connectionString字段,獲取了數(shù)據(jù)庫連接,在它里面也定義了很多數(shù)據(jù)庫的執(zhí)行方法,它就像倉庫管理員的大腦一樣,類似于一個Controller。ModelControllerSchoolRepositoryClassRepos
8、itoryStudentRepositorySqlDbHelper工廠是對象初始化的一種方式,可用于大量對象的初始化。public class Apublic class Bpublic class Factory1 public static A CreatA() return new A(); public static B CreatB() return new B(); public class Factory2 pubilc Object Creat(int i) switch(i) case 0: return new A(); break; case 1: return new
9、B(); break; FACTORY1FACTORY2用到了類的靜態(tài)方法類的靜態(tài)方法屬于類,可以用類名直接調(diào)用初始化對象Object oa = Factory1.CreatA();Object ob = Factory1.CreatB();用到了策略者模式需要先建立一個工廠類,然后用工廠類調(diào)用Creat()方法。策略者模式創(chuàng)建的類必須繼承自一個父類。A和B必須有同一個父類。初始化對象Factory2 myFactory = new Factory2();Object oa = myFactory.Creat(0);Object ob = myFactory.Creat(1);在本項目中,Service有三個接口,也有三個類分別繼承三個服務(wù)接口。 從類圖中可看出來,服務(wù)字段中自動找了倉庫管理員,并進(jìn)一步封裝倉庫管理的方法。讓用戶感覺不到倉庫管理層的存在,實(shí)現(xiàn)了讓用戶直接調(diào)用想要的服
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023八年級數(shù)學(xué)上冊 第13章 全等三角形13.2三角形全等的判定 4角邊角說課稿 (新版)華東師大版
- 2024年四年級品社下冊《怎樣到達(dá)目的地》說課稿2 蘇教版
- 2025鋼質(zhì)門小型鋼結(jié)構(gòu)制作及安裝合同
- 2025個人電路出租合同書
- 2025公司經(jīng)理勞動合同
- 道路邊坡加固維修施工方案
- 交通圍欄銷售合同范本
- 農(nóng)業(yè)營銷合作合同范本
- 保溫鋼結(jié)構(gòu)合同范本
- Sara's Medicine(說課稿)-2023-2024學(xué)年麗聲北極星分級繪本四年級上(江蘇版)
- 第七講推動構(gòu)建新時代的大國關(guān)系格局-2024年形勢與政策(課件)
- 2025年高考作文備考:議論文寫作的論證手法
- 2024年可行性研究報告投資估算及財務(wù)分析全套計算表格(含附表-帶只更改標(biāo)紅部分-操作簡單)
- 數(shù)獨(dú)6宮格300試題
- 24年注安-管理的題
- 2024至2030年中國心理咨詢行業(yè)市場預(yù)測與投資規(guī)劃分析報告
- 國際貿(mào)易地理 全套課件
- 廣西2024年高考物理模擬試卷及答案1
- GB/T 20878-2024不銹鋼牌號及化學(xué)成分
- 某房屋建筑工程監(jiān)理大綱
- 英語考綱詞匯表3500詞
評論
0/150
提交評論