版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VS.NET開(kāi)發(fā)基礎(chǔ)培訓(xùn)(C#)U8客戶(hù)化開(kāi)發(fā)及管理部馮優(yōu)波fengyb@62438429課程安排Unit1C/S架構(gòu)與B/S架構(gòu)Unit2示例演示Unit3軟件三層架構(gòu)Unit4VS.NET快速開(kāi)發(fā)工具Unit5示例演示總結(jié)Unit1C/S架構(gòu)與B/S架構(gòu)C/S架構(gòu)介紹
C/S(Client/Server)架構(gòu),即大家熟知的客戶(hù)機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。目前很多應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶(hù)都可以訪(fǎng)問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。
傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開(kāi)放模式,在特定的應(yīng)用中無(wú)論是Client端還是Server端都還需要特定的軟件支持。由于沒(méi)能提供用戶(hù)真正期望的開(kāi)放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開(kāi)發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶(hù)同時(shí)使用。而且代價(jià)高,效率低。
C/S代表性產(chǎn)品:U8-ERPUnit1C/S架構(gòu)與B/S架構(gòu)B/S架構(gòu)介紹
B/S(Browser/Server)架構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶(hù)工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶(hù)端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶(hù)的總體成本(TCO)。
以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪(fǎng)問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪(fǎng)問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在JAVA和.NET等高級(jí)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。B/S代表性產(chǎn)品:U9-ERP/NCUnit1C/S架構(gòu)與B/S架構(gòu)C/S和B/S之比較
C/S和B/S是當(dāng)今世界開(kāi)發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S是美國(guó)
Borland公司最早研發(fā),B/S是美國(guó)微軟公司研發(fā)。目前,這兩項(xiàng)技術(shù)以被世界各國(guó)所掌握,國(guó)內(nèi)公司以C/S和B/S技術(shù)開(kāi)發(fā)出產(chǎn)品也很多。這兩種技術(shù)都有自己一定的市場(chǎng)份額和客戶(hù)群。C/S和B/S對(duì)比:名稱(chēng)C/SB/S應(yīng)用范圍建立在局域網(wǎng)的基礎(chǔ)上的建立在廣域網(wǎng)的基礎(chǔ)上的硬件環(huán)境一般建立在專(zhuān)用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過(guò)專(zhuān)門(mén)服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)建立在廣域網(wǎng)之上的,不必是專(zhuān)門(mén)的網(wǎng)絡(luò)硬件環(huán)境,例如電話(huà)上網(wǎng),租用設(shè)備,信息自己管理,有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行Unit1C/S架構(gòu)與B/S架構(gòu)C/S和B/S對(duì)比:名稱(chēng)C/SB/S安全要求一般面向相對(duì)固定的用戶(hù)群,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜,可以通過(guò)B/S發(fā)布部分可公開(kāi)信息。建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,面向是網(wǎng)絡(luò)的用戶(hù)群。程序架構(gòu)程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮。對(duì)安全以及訪(fǎng)問(wèn)速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。系統(tǒng)維護(hù)程序必須整體考察,處理出現(xiàn)的問(wèn)題以及系統(tǒng)升級(jí)難,維護(hù)工作量大。發(fā)布的組件可以個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無(wú)縫升級(jí)。系統(tǒng)維護(hù)開(kāi)銷(xiāo)減到最小,用戶(hù)從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)。Unit1C/S架構(gòu)與B/S架構(gòu)C/S和B/S對(duì)比:名稱(chēng)C/SB/S處理問(wèn)題程序可以處理用戶(hù)面固定,并且在相同區(qū)域,安全要求高的需求,與操作系統(tǒng)相關(guān),應(yīng)該都是相同的系統(tǒng)。建立在廣域網(wǎng)上,面向不同的用戶(hù)群,分散地域,這是C/S無(wú)法作到的,與操作系統(tǒng)平臺(tái)關(guān)系最小。用戶(hù)接口多是建立在Window平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍要求較高。建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶(hù)交流,并且大部分難度減低,降低開(kāi)發(fā)成本。信息流程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對(duì)低。信息流向可變化,
B-B、
B-C、
B-G等信息流向的變化,更象交易中心。課程安排Unit1C/S架構(gòu)與B/S架構(gòu)Unit2示例演示Unit3軟件三層架構(gòu)Unit4VS.NET快速開(kāi)發(fā)工具Unit5示例演示總結(jié)Unit2示例演示VS2005創(chuàng)建C/S用戶(hù)登錄實(shí)例Unit2示例演示C/S用戶(hù)登錄實(shí)例在新建的窗體上加入相關(guān)控件,注意“密碼”框的屬性設(shè)置Unit2示例演示C/S用戶(hù)登錄代碼privatevoidbtnOK_Click(objectsender,EventArgse)
{………….//查詢(xún)sqlStringBuilderstrSql=newStringBuilder();strSql.Append("selectCount(*)asCCfromLogin");strSql.Append("whereUserName=@UserNameandPassWord=@PassWord");
//參數(shù)SqlParameter[]parameters={newSqlParameter("@UserName",SqlDbType.VarChar,50),newSqlParameter("@PassWord",SqlDbType.VarChar,50)};parameters[0].Value=this.txtUserName.Text;parameters[1].Value=this.txtPassWord.Text;//DB鏈接DbHelperSQL.connectionString="server=(local);uid=sa;pwd=ufida;Trusted_Connection=no;database=demo";
//返回結(jié)果集DataSetds=DbHelperSQL.Query(strSql.ToString(),parameters);
//處理結(jié)果if(ds.Tables[0].Rows.Count>0)
{if(int.Parse(ds.Tables[0].Rows[0]["CC"].ToString())>0)
{MessageBox.Show("登錄成功!");
}else
{MessageBox.Show("非法用戶(hù)!");
}
}else
{MessageBox.Show("非法用戶(hù)!");
}
Unit2示例演示MSSQLHELPERSqlHelper數(shù)據(jù)訪(fǎng)問(wèn)組件是Microsoft提供的開(kāi)源的數(shù)據(jù)訪(fǎng)問(wèn)助手,其封裝很?chē)?yán)密,且應(yīng)用簡(jiǎn)單,它是一組通用的訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的代碼,在所有項(xiàng)目中都可以用,一般不需要修改。主要功能:(1)執(zhí)行不返回?cái)?shù)據(jù)的T-Sql命令。例如增加、修改、刪除信息等。(2)返回一組數(shù)據(jù)。例如一個(gè)記錄集:DataSet等。(3)返回記錄指針DataReader。(4)緩存參數(shù)列表。在執(zhí)行一條語(yǔ)句時(shí),可能有多個(gè)參數(shù),為了提高速度,將參數(shù)緩存。(5)讀取緩存的參數(shù)。Unit2示例演示VS2005創(chuàng)建B/S用戶(hù)登錄實(shí)例Unit2示例演示B/S用戶(hù)登錄實(shí)例在新建的頁(yè)面上加入相關(guān)控件,注意“密碼”框的屬性設(shè)置Unit2示例演示B/S用戶(hù)登錄代碼privatevoidbtnOK_Click(objectsender,EventArgse)
{………….//查詢(xún)sqlStringBuilderstrSql=newStringBuilder();strSql.Append("selectCount(*)asCCfromLogin");strSql.Append("whereUserName=@UserNameandPassWord=@PassWord");
//參數(shù)SqlParameter[]parameters={newSqlParameter("@UserName",SqlDbType.VarChar,50),newSqlParameter("@PassWord",SqlDbType.VarChar,50)};parameters[0].Value=this.txtUserName.Text;parameters[1].Value=this.txtPassWord.Text;//DB鏈接DbHelperSQL.connectionString="server=(local);uid=sa;pwd=ufida;Trusted_Connection=no;database=demo";
//返回結(jié)果集DataSetds=DbHelperSQL.Query(strSql.ToString(),parameters);
//處理結(jié)果if(ds.Tables[0].Rows.Count>0)
{if(int.Parse(ds.Tables[0].Rows[0]["CC"].ToString())>0)
{Page.ClientScript.RegisterStartupScript(Page.GetType(),"message","<scriptlanguage='javascript'defer>alert('登錄成功!');</script>");
}else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(),“message”,“<scriptlanguage=‘javascript’defer>alert(‘非法用戶(hù)!');</script>");
}
}else
{MessageBox.Show("非法用戶(hù)!");
}
課程安排Unit1C/S架構(gòu)與B/S架構(gòu)Unit2示例演示Unit3軟件三層架構(gòu)Unit4VS.NET快速開(kāi)發(fā)工具Unit5示例演示總結(jié)Unit3軟件三層架構(gòu)三層架構(gòu)介紹
軟件系統(tǒng)最常用的一般會(huì)講到三層架構(gòu),其實(shí)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪(fǎng)問(wèn)層等,有的還要細(xì)一些,通過(guò)分解業(yè)務(wù)細(xì)節(jié),將不同的功能代碼分散開(kāi)來(lái),更利于系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),同時(shí)為可能的變更提供了更小的單元,十分有利于系統(tǒng)的維護(hù)和擴(kuò)展。
常見(jiàn)的三層架構(gòu)基本包括如下幾個(gè)部分,如圖:數(shù)據(jù)訪(fǎng)問(wèn)層DAL:用于實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互和訪(fǎng)問(wèn),從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)或保存數(shù)據(jù)到數(shù)據(jù)庫(kù)的部分。業(yè)務(wù)邏輯層BLL:業(yè)務(wù)邏輯層承上啟下,用于對(duì)上下交互的數(shù)據(jù)進(jìn)行邏輯處理,實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。表示層UI:主要實(shí)現(xiàn)和用戶(hù)的交互,接收用戶(hù)請(qǐng)求或返回用戶(hù)請(qǐng)求的數(shù)據(jù)結(jié)果的展現(xiàn),而具體的數(shù)據(jù)處理則交給業(yè)務(wù)邏輯層和數(shù)據(jù)訪(fǎng)問(wèn)層去處理。Unit3軟件三層架構(gòu)復(fù)雜三層架構(gòu)介紹
日常開(kāi)發(fā)的很多情況下為了復(fù)用一些共同的東西,會(huì)把一些各層都用的東西抽象出來(lái)。如我們將數(shù)據(jù)對(duì)象實(shí)體和方法分離,以便在多個(gè)層中傳遞,例如稱(chēng)為Model。一些共性的通用輔助類(lèi)和工具方法,如數(shù)據(jù)校驗(yàn)、緩存處理、加解密處理等,為了讓各個(gè)層之間復(fù)用,也單獨(dú)分離出來(lái),作為獨(dú)立的模塊使用,例如稱(chēng)為Common。
演變后的三層架構(gòu)基本包括如下幾個(gè)部分,如圖:數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)類(lèi)是對(duì)ADO.NET的封裝,封裝了一些常用的重復(fù)的數(shù)據(jù)庫(kù)操作。如微軟的企業(yè)庫(kù)SQLHelper.cs,DBUtility/DbHelperSQL等,為DAL提供訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的輔助工具類(lèi)。課程安排Unit1C/S架構(gòu)與B/S架構(gòu)Unit2示例演示Unit3軟件三層架構(gòu)Unit4VS.NET快速開(kāi)發(fā)工具Unit5示例演示總結(jié)Unit4VS.NET快速開(kāi)發(fā)工具動(dòng)軟.Net代碼生成器
動(dòng)軟.Net代碼生成器是一款為C#數(shù)據(jù)庫(kù)程序員設(shè)計(jì)的自動(dòng)代碼生成器,Codematic生成的代碼基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計(jì),結(jié)合了Petshop中經(jīng)典的思想和設(shè)計(jì)模式,融入了工廠(chǎng)模式,反射機(jī)制等等一些思想。主要實(shí)現(xiàn)在對(duì)應(yīng)數(shù)據(jù)庫(kù)中表的基類(lèi)代碼的自動(dòng)生成,包括生成屬性、添加、修改、刪除、查詢(xún)、存在性、Model類(lèi)構(gòu)造等基礎(chǔ)代碼片斷,支持不同3種架構(gòu)代碼生成,使程序員可以節(jié)省大量機(jī)械錄入的時(shí)間和重復(fù)勞動(dòng),而將精力集中于核心業(yè)務(wù)邏輯的開(kāi)發(fā)。Codematic同時(shí)提供便捷的數(shù)據(jù)庫(kù)管理功能和多項(xiàng)其他開(kāi)發(fā)工作中常用到的輔助工具功能,可以很方便輕松地進(jìn)行項(xiàng)目開(kāi)發(fā),讓開(kāi)發(fā)變得輕松而快樂(lè)!界面視圖:Unit4動(dòng)軟.Net代碼生成器主要功能自動(dòng)生成C#代碼:可以生成3種不同架構(gòu)的代碼:簡(jiǎn)單三層結(jié)構(gòu);基于工廠(chǎng)模式三層架構(gòu);自定義結(jié)構(gòu)模版。
數(shù)據(jù)庫(kù)服務(wù)器管理:類(lèi)似SQLServer2005的管理界面,方便平常在代碼編輯的時(shí)候想查看數(shù)據(jù)庫(kù)的信息,并且可以很直觀(guān)的查看字段類(lèi)型,長(zhǎng)度,主鍵,默認(rèn)值等詳細(xì)信息,省去了在代碼和數(shù)據(jù)庫(kù)管理器之間的來(lái)回切換,方便快捷。自動(dòng)生成存儲(chǔ)過(guò)程和SQL腳本。自動(dòng)生成數(shù)據(jù)庫(kù)文檔。Web項(xiàng)目文件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年學(xué)校教學(xué)管理制度(二篇)
- 開(kāi)學(xué)典禮的演講稿100字(5篇)
- 2024年小學(xué)教學(xué)工作計(jì)劃書(shū)樣本(五篇)
- 2024年小學(xué)六年級(jí)班級(jí)工作計(jì)劃范例(二篇)
- 2024年少先隊(duì)輔導(dǎo)員工作總結(jié)例文(二篇)
- 高效的時(shí)間圖學(xué)習(xí):算法、框架與工具 Towards Efficient Temporal Graph Learning-Algorithms,Frameworks,and Tools
- 2024年少先隊(duì)的活動(dòng)總結(jié)標(biāo)準(zhǔn)范文(二篇)
- 2024年南京房屋租賃合同格式范本(二篇)
- 2024年幼兒園小班教育教學(xué)計(jì)劃范例(三篇)
- 2024年小學(xué)教師個(gè)人科研計(jì)劃模版(六篇)
- LY/T 3354-2023土地退化類(lèi)型與分級(jí)規(guī)范
- 北京市商業(yè)地產(chǎn)市場(chǎng)細(xì)分研究
- 新媒體視覺(jué)設(shè)計(jì)之新媒體視覺(jué)設(shè)計(jì)基本要素
- 《大衛(wèi)科波菲爾(節(jié)選)》《老人與海》聯(lián)讀課件17張高中語(yǔ)文選擇性必修上冊(cè)
- HSK五級(jí)必過(guò)考前輔導(dǎo)課件
- 自動(dòng)化機(jī)械設(shè)備項(xiàng)目評(píng)價(jià)分析報(bào)告
- 北師大版-八年級(jí)上冊(cè)數(shù)學(xué)知識(shí)點(diǎn)及習(xí)題
- 醫(yī)療美容消費(fèi)服務(wù)合同
- 地球的形成和演化
- 投標(biāo)報(bào)價(jià)得分計(jì)算表Excele
- JT-T 795-2023 事故汽車(chē)修復(fù)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論