欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      三層架構(gòu)應(yīng)用總結(jié)——.net

      時(shí)間:2019-05-12 07:06:36下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《三層架構(gòu)應(yīng)用總結(jié)——.net》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《三層架構(gòu)應(yīng)用總結(jié)——.net》。

      第一篇:三層架構(gòu)應(yīng)用總結(jié)——.net

      ASP.NET三層架構(gòu)應(yīng)用總結(jié)

      與ASP相比ASP.NET在Web應(yīng)用開(kāi)發(fā)上無(wú)疑更容易,更有效率。Web開(kāi)發(fā)大部分還是圍繞著數(shù)據(jù)操作,建立數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),編寫(xiě)代碼訪問(wèn)和修改數(shù)據(jù),設(shè)計(jì)界面采集和呈現(xiàn)數(shù)據(jù)。走過(guò)Asp.net學(xué)習(xí)入門(mén)階段后,真正開(kāi)始著手開(kāi)發(fā)一個(gè)Web項(xiàng)目時(shí),才發(fā)現(xiàn)錯(cuò)綜復(fù)雜的數(shù)據(jù)與關(guān)聯(lián)根本就不是SqlDataSource和AccessDataSource數(shù)據(jù)源控件能簡(jiǎn)單解決的,而恰恰是被忽視了的一個(gè)ObjectDataSource數(shù)據(jù)源控件才是真正踏入開(kāi)發(fā)門(mén)檻的關(guān)鍵,由此也對(duì)三層架構(gòu)模式有了初步體驗(yàn)。

      一.ASP.NET三層架構(gòu)介紹

      設(shè)計(jì)模式中的分層架構(gòu)(可以參考一下J2EE中MVC模式)實(shí)現(xiàn)了各司其職,互不干涉,所以如果一旦哪一層的需求發(fā)生了變化,就只需要更改相應(yīng)的層中的代碼而不會(huì)影響到其它層中的代碼。這樣就能更好的實(shí)現(xiàn)開(kāi)發(fā)中的分工,有利于組件的重用。所以這些年關(guān)于模式的研究有很多成果,應(yīng)用也很廣泛。一個(gè)好的模式在程序開(kāi)發(fā)和后期維護(hù)中作用重大。ASP.NET三層架構(gòu)自底向上分為:數(shù)據(jù)訪問(wèn)層(DAL),業(yè)務(wù)邏輯層(BLL)和表示層(PL)。

      數(shù)據(jù)訪問(wèn)層(DAL):使用了一個(gè)強(qiáng)類(lèi)型的DataSet作為數(shù)據(jù)訪問(wèn)層,只是單純的對(duì)數(shù)據(jù)進(jìn)行增,刪,改,查詢(xún)和判斷存在等等較通用的數(shù)據(jù)訪問(wèn)方法(由SQL語(yǔ)句來(lái)提供),不應(yīng)該有“事務(wù)”存在。

      業(yè)務(wù)邏輯層(BLL):業(yè)務(wù)邏輯層是在數(shù)據(jù)訪問(wèn)層和表示層之間進(jìn)行數(shù)據(jù)交換的橋梁,按業(yè)務(wù)需求調(diào)用數(shù)據(jù)訪問(wèn)層中的方法組合,集合了各種業(yè)務(wù)規(guī)則到一個(gè)BLL中,例如通過(guò)條件進(jìn)行判斷的數(shù)據(jù)操作或“事務(wù)”處理。BLL都是以類(lèi)庫(kù)(Class Library)的形式來(lái)實(shí)現(xiàn)的。

      表示層(PL):表示層是為客戶(hù)提供用于交互的應(yīng)用服務(wù)圖形界面,幫助用戶(hù)理解和高效地定位應(yīng)用服務(wù),呈現(xiàn)業(yè)務(wù)邏輯層中傳遞的數(shù)據(jù),用ASP.NET頁(yè)面來(lái)實(shí)現(xiàn)。

      二.三層架構(gòu)應(yīng)用實(shí)現(xiàn) 隨著ASP.NET 的不斷升級(jí),可以很方便的使用ASP.NET 來(lái)構(gòu)建B/S 三層架構(gòu)的應(yīng)用程序,下面以“教師業(yè)務(wù)信息管理系統(tǒng)”項(xiàng)目中的部分例子來(lái)演示如何使用ASP.NET 2.0 和SQL Server 2005數(shù)據(jù)庫(kù)來(lái)構(gòu)建一個(gè)三層架構(gòu)的應(yīng)用程序。

      1.創(chuàng)建數(shù)據(jù)庫(kù)

      打開(kāi)SQL Server 2005,新建一個(gè)數(shù)據(jù)庫(kù)“TeacherDb”,建立如下所示結(jié)構(gòu)的兩個(gè)表“PersonInfo”和“JobInfo”。兩表以PersonIDNumber作為關(guān)聯(lián)字段,存儲(chǔ)18位身份證號(hào)碼。

      2.創(chuàng)建數(shù)據(jù)訪問(wèn)層 在開(kāi)始創(chuàng)建數(shù)據(jù)訪問(wèn)層(DAL)之前,首先需要?jiǎng)?chuàng)建一個(gè)網(wǎng)站,配置好數(shù)據(jù)庫(kù)鏈接。

      第一步:創(chuàng)建一個(gè)Web項(xiàng)目,配置數(shù)據(jù)庫(kù)連接

      打開(kāi)Visual Studio 2005(以下簡(jiǎn)稱(chēng)VS2005)集成開(kāi)發(fā)環(huán)境, 首先創(chuàng)建一個(gè)C#語(yǔ)言的ASP.NET網(wǎng)站,并將其命名為WebSite,設(shè)置位置(Location)列表的選項(xiàng)為文件系統(tǒng)(File System),然后選這一個(gè)放置這個(gè)網(wǎng)站的文件夾,然后選擇編程語(yǔ)言為C#。Visual Studio會(huì)為你生成一個(gè)新的網(wǎng)站,同時(shí)生成一個(gè)名為Default.aspx的網(wǎng)頁(yè),和一個(gè)App_Data文件夾。

      第二步:創(chuàng)建數(shù)據(jù)訪問(wèn)層,配置數(shù)據(jù)庫(kù)連接

      接下來(lái)創(chuàng)建數(shù)據(jù)訪問(wèn)層,添加一個(gè)強(qiáng)類(lèi)型的DataSet。在解決方案管理器里的項(xiàng)目節(jié)點(diǎn)上按右鼠標(biāo),選擇“添加新項(xiàng)”,在模板列單里選擇“數(shù)據(jù)集”,將其命名為DataSet1.xsd。接下來(lái)會(huì)出現(xiàn)“TableAdpater”配置向?qū)У拇翱冢x擇數(shù)據(jù)庫(kù)服務(wù)器,設(shè)置好各項(xiàng)參數(shù),并按照提示逐步完成。需要注意: 1.指定連接的數(shù)據(jù)庫(kù)字符串,并選擇將連接字符串保存到web.config文件中去。

      2.命令類(lèi)型選擇“使用SQL語(yǔ)句”,通過(guò)“高級(jí)選項(xiàng)”選擇“生成Insert、Update和Delete語(yǔ)句”,通過(guò)“查詢(xún)生成器”生成要裝載數(shù)據(jù)的“Select語(yǔ)句”。并為方法命名。

      http://apps.hi.baidu.com/share/detail/37462037 資料二

      引言:本文不是從理論的角度來(lái)探討三層架構(gòu),而是用一個(gè)示例來(lái)介紹如何建設(shè)一個(gè)三層架構(gòu)的項(xiàng)目,并說(shuō)明項(xiàng)目中各個(gè)文件所處的層次與作用。寫(xiě)本文的目的,不是為了說(shuō)明自己的這個(gè)方法有多對(duì),別人的肯定不對(duì),而是希望給那些初學(xué)三層架構(gòu)卻不知從何入手的朋友提供一點(diǎn)幫助。因?yàn)榫W(wǎng)上的文章,大多是注重理論的介紹,而忽略了具體的實(shí)踐應(yīng)用,或者有示例但講得不透徹。導(dǎo)致看了之后,理論上又學(xué)習(xí)了一遍,但還是不知道代碼怎么寫(xiě)。所以想從這個(gè)方面入手寫(xiě)一下,讓從來(lái)沒(méi)做過(guò)三層架構(gòu)的初學(xué)者也能照貓畫(huà)虎,寫(xiě)出代碼來(lái)。文章表述的是筆者個(gè)人對(duì)三層架構(gòu)的認(rèn)識(shí),肯定有許多不足的地方,歡迎大家指正,小弟也會(huì)根據(jù)反饋來(lái)修改這篇文章。文中的代碼是偽代碼,僅用來(lái)闡明思路。

      正文:

      一提三層架構(gòu),大家都知道是表現(xiàn)層(UI),業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL),而且每層如何細(xì)分也都有很多的方法。但具體代碼怎么寫(xiě),到底那些文件算在哪一層,卻是模模糊糊的。下面用一個(gè)簡(jiǎn)單的例子來(lái)帶領(lǐng)大家實(shí)戰(zhàn)三層架構(gòu)的項(xiàng)目,這個(gè)例子只有一個(gè)功能,就是用戶(hù)的簡(jiǎn)單管理。

      首先建立一個(gè)空白解決方案,添加如下項(xiàng)目及文件

      1、添加ASP.NET Web Application項(xiàng)目,命名為UI,新建Web Form類(lèi)型文件User.aspx(含User.aspx.cs)

      2、添加ClassLibrary項(xiàng)目,命名為BLL,新建Class類(lèi)型文件UserBLL.cs

      3、添加ClassLibrary項(xiàng)目,命名為DAL,新建Class類(lèi)型文件UserDAL.cs。添加SQLHelper引用。(這個(gè)是微軟的數(shù)據(jù)訪問(wèn)類(lèi),也可以不用,直接編寫(xiě)所有的數(shù)據(jù)訪問(wèn)代碼。我一般用自己寫(xiě)的數(shù)據(jù)訪問(wèn)類(lèi)DataAccessHelper)。

      4、添加ClassLibrary項(xiàng)目,命名為Model,新建Class類(lèi)型文件UserModel.cs

      5、添加ClassLibrary項(xiàng)目,命名為IDAL,新建Interface類(lèi)型文件IUserDAL.cs

      6、添加ClassLibrary項(xiàng)目,命名為ClassFactory 相信大家已經(jīng)看出來(lái)了,這個(gè)和Petshop的示例沒(méi)什么區(qū)別,而且更簡(jiǎn)單,因?yàn)樵谙乱彩峭ㄟ^(guò)Petshop學(xué)習(xí)三層架構(gòu)的。但一些朋友對(duì)于這幾個(gè)項(xiàng)目所處的層次,以及它們之間的關(guān)系,可能比較模糊,這里逐個(gè)說(shuō)明一下:

      1、User.aspx和User.aspx.cs 這兩個(gè)文件(以及文件所屬的項(xiàng)目,下面也是如此,不再重復(fù)強(qiáng)調(diào)了)都屬于表現(xiàn)層部分。User.aspx比較好理解,因?yàn)樗褪秋@示頁(yè)面了。User.aspx.cs有些人覺(jué)得不應(yīng)該算,而是要?jiǎng)澋綐I(yè)務(wù)邏輯層中去。如果不做分層的話,那么讓User.aspx.cs來(lái)處理業(yè)務(wù)邏輯,甚至操作數(shù)據(jù)庫(kù)都沒(méi)什么問(wèn)題,但是做分層的話,這樣就不應(yīng)該了。在分層結(jié)構(gòu)中,User.aspx.cs僅應(yīng)該處理與顯示有關(guān)的內(nèi)容,其它部分都不應(yīng)該涉及。

      舉例:我們實(shí)現(xiàn)用列表方式顯示用戶(hù)的功能,那么提取信息的工作是由BLL來(lái)做的,UI(本例中是User.aspx.cs)調(diào)用BLL得到UserInfo后,通過(guò)代碼綁定到User.aspx的數(shù)據(jù)控件上,就實(shí)現(xiàn)了列表的顯示。在此過(guò)程中User.aspx.cs對(duì)UI沒(méi)有起到什么作用,僅是用來(lái)傳遞數(shù)據(jù),而且因?yàn)閷?shí)際編碼中大部分情況都是如此的實(shí)現(xiàn),所以使有些人覺(jué)得User.aspx.cs不應(yīng)該算UI,而應(yīng)該并入BLL負(fù)責(zé)邏輯處理。繼續(xù)往下看,這時(shí)提出了一個(gè)新需求,要求在每個(gè)用戶(hù)的前面加一個(gè)圖標(biāo),生動(dòng)地表現(xiàn)出用戶(hù)的性別,而且不滿18歲的用兒童圖標(biāo)表示。這個(gè)需求的實(shí)現(xiàn),就輪到User.aspx.cs來(lái)做了,這種情況下User.aspx.cs才算有了真正的用途。

      2、NewBLL.cs 添加如下方法:

      public IList GetUsers():返回所有的用戶(hù)信息列表

      public UserInfo GetUser(int UserId):返回指定用戶(hù)的詳細(xì)信息

      public bool AddUser(UserInfo User):新增用戶(hù)信息

      public bool ChangeUser(UserInfo User):更新用戶(hù)信息

      public void RemoveUser(int UserId):移除用戶(hù)信息

      此文件就屬于業(yè)務(wù)邏輯層了,專(zhuān)門(mén)用來(lái)處理與業(yè)務(wù)邏輯有關(guān)的操作??赡苡泻芏嗳擞X(jué)得這一層唯一的用途,就是把表現(xiàn)層傳過(guò)來(lái)的數(shù)據(jù)轉(zhuǎn)發(fā)給數(shù)據(jù)層。這種情況確實(shí)很多,但這只能說(shuō)明項(xiàng)目比較簡(jiǎn)單,或者項(xiàng)目本身與業(yè)務(wù)的關(guān)系結(jié)合的不緊密(比如當(dāng)前比較流行的MIS),所以造成業(yè)務(wù)層無(wú)事可做,只起到了一個(gè)轉(zhuǎn)發(fā)的作用。但這不代表業(yè)務(wù)層可有可無(wú),隨著項(xiàng)目的增大,或者業(yè)務(wù)關(guān)系比較多,業(yè)務(wù)層就會(huì)體現(xiàn)出它的作用來(lái)了。

      此處最可能造成錯(cuò)誤的,就是把數(shù)據(jù)操作代碼劃在了業(yè)務(wù)邏輯層,而把數(shù)據(jù)庫(kù)作為了數(shù)據(jù)訪問(wèn)層。

      舉例:有些朋友感覺(jué)BLL層意義不大,只是將DAL的數(shù)據(jù)提上來(lái)就轉(zhuǎn)發(fā)給了UI,而未作任何處理??匆幌逻@個(gè)例子

      BLL層

      SelectUser(UserInfo userInfo)根據(jù)傳入的username或email得到用戶(hù)詳細(xì)信息。

      IsExist(UserInfo userInfo)判斷指定的username或email是否存在。

      然后DAL也相應(yīng)提供方法共BLL調(diào)用

      SelectUser(UserInfo userInfo)

      IsExist(UserInfo userInfo)這樣BLL確實(shí)只起到了一個(gè)傳遞的作用。

      但如果這樣做:

      BLL.IsExist(Userinfo userinfo)

      { UerInfo user = DAL.SelectUser(User);

      return(userInfo.Id!= null);

      } 那么DAL就無(wú)需實(shí)現(xiàn)IsExist()方法了,BLL中也就有了邏輯處理的代碼。

      3、UserModel.cs 實(shí)體類(lèi),這個(gè)東西,大家可能覺(jué)得不好分層。包括我以前在內(nèi),是這樣理解的:UI?àModel?àBLL?àModel?àDAL,如此則認(rèn)為Model在各層之間起到了一個(gè)數(shù)據(jù)傳輸?shù)臉蛄鹤饔?。不過(guò)在這里,我們不是把事情想簡(jiǎn)單,而是想復(fù)雜了。

      Model是什么?它什么也不是!它在三層架構(gòu)中是可有可無(wú)的。它其實(shí)就是面向?qū)ο缶幊讨凶罨镜臇|西:類(lèi)。一個(gè)桌子是一個(gè)類(lèi),一條新聞也是一個(gè)類(lèi),int、string、doublie等也是類(lèi),它僅僅是一個(gè)類(lèi)而已。

      這樣,Model在三層架構(gòu)中的位置,和int,string等變量的地位就一樣了,沒(méi)有其它的目的,僅用于數(shù)據(jù)的存儲(chǔ)而已,只不過(guò)它存儲(chǔ)的是復(fù)雜的數(shù)據(jù)。所以如果你的項(xiàng)目中對(duì)象都非常簡(jiǎn)單,那么不用Model而直接傳遞多個(gè)參數(shù)也能做成三層架構(gòu)。

      那為什么還要有Model呢,它的好處是什么呢。下面是思考一個(gè)問(wèn)題時(shí)想到的,插在這里:

      Model在各層參數(shù)傳遞時(shí)到底能起到做大的作用?

      在各層間傳遞參數(shù)時(shí),可以這樣:

      AddUser(userId,userName,userPassword,…,)

      也可以這樣:

      AddUser(userInfo)

      這兩種方法那個(gè)好呢。一目了然,肯定是第二種要好很多。

      什么時(shí)候用普通變量類(lèi)型(int,string,guid,double)在各層之間傳遞參數(shù),什么使用Model傳遞?下面幾個(gè)方法:

      SelectUser(int UserId)

      SelectUserByName(string username)

      SelectUserByName(string username,string password)

      SelectUserByEmail(string email)

      SelectUserByEmail(string email,string password)

      可以概括為:

      SelectUser(userId)

      SelectUser(user)

      這里用user這個(gè)Model對(duì)象囊括了username,password,email這三個(gè)參數(shù)的四種組合模式。UserId其實(shí)也可以合并到user中,但項(xiàng)目中其它BLL都實(shí)現(xiàn)了帶有id參數(shù)的接口,所以這里也保留這一項(xiàng)。

      傳入了userInfo,那如何處理呢,這個(gè)就需要按照先后的順序了,有具體代碼決定。

      這里按這個(gè)順序處理

      首先看是否同時(shí)具有username和password,然后看是否同時(shí)具有email和password,然后看是否有username,然后看是否有email。依次處理。

      這樣,如果以后增加一個(gè)新內(nèi)容,會(huì)員卡(number),則無(wú)需更改接口,只要在DAL的代碼中增加對(duì)number的支持就行,然后前臺(tái)增加會(huì)員卡一項(xiàng)內(nèi)容的表現(xiàn)與處理即可。

      4、UserDAL.cs public IList SelectUsers():返回所有的用戶(hù)信息列表

      public UserInfo SelectUser(int UserId):返回指定用戶(hù)的相信信息

      public bool InsertUser(UserInfo User):新增用戶(hù)信息

      public bool UpdateUser(UserInfo User):更新用戶(hù)信息

      public void DeleteUser(int UserId):移除用戶(hù)信息

      很多人最鬧不清的就是數(shù)據(jù)訪問(wèn)層,到底那部分才算數(shù)據(jù)訪問(wèn)層呢?有些認(rèn)為數(shù)據(jù)庫(kù)就是數(shù)據(jù)訪問(wèn)層,這是對(duì)定義沒(méi)有搞清楚,DAL是數(shù)據(jù)訪問(wèn)層而不是數(shù)據(jù)存儲(chǔ)層,因此數(shù)據(jù)庫(kù)不可能是這一層的。也有的把SQLHelper(或其同類(lèi)作用的組件)作為數(shù)據(jù)訪問(wèn)層,它又是一個(gè)可有可無(wú)的東西,SQLHelper的作用是減少重復(fù)性編碼,提高編碼效率,因此如果我習(xí)慣在乎效率或使用一個(gè)非數(shù)據(jù)庫(kù)的數(shù)據(jù)源時(shí),可以丟棄SQLHelper,一個(gè)可以隨意棄置的部分,又怎么能成為三層架構(gòu)中的一層呢。

      可以這樣定義:與數(shù)據(jù)源操作有關(guān)的代碼,就應(yīng)該放在數(shù)據(jù)訪問(wèn)層中,屬于數(shù)據(jù)訪問(wèn)層

      5、IUserDAL 數(shù)據(jù)訪問(wèn)層接口,這又是一個(gè)可有可無(wú)的東西,因?yàn)镻etshop中帶了它和ClassFactory類(lèi)工廠,所以有些項(xiàng)目不論需不需要支持多數(shù)據(jù)源,都把這兩個(gè)東西做了進(jìn)來(lái),有的甚至不建ClassFactory而只建了IDAL,然后“IUserDAL iUserDal = new UserDAL();”,不知意義何在。這就完全是畫(huà)虎不成反類(lèi)犬了。

      許多人在這里有一個(gè)誤解,那就是以為存在這樣的關(guān)系:BLL?àIDAL?àDAL,認(rèn)為IDAL起到了BLL和DAL之間的橋梁作用,BLL是通過(guò)IDAL來(lái)調(diào)用DAL的。但實(shí)際是即使你如此編碼:“IUserDAL iUserDal = ClassFacotry.CreateUserDAL();”,那么在執(zhí)行“iUserDal.SelectUsers()”時(shí),其實(shí)還是執(zhí)行的UserDAL實(shí)例,而不是IUserDAL實(shí)例,所以IDAL在三層中的位置是與DAL平級(jí)的關(guān)系。

      通過(guò)上面的介紹,基本上將三層架構(gòu)的層次結(jié)構(gòu)說(shuō)明了。其實(shí),本人有一個(gè)判斷三層架構(gòu)是否標(biāo)準(zhǔn)的方法,那就是將三層中的任意一層完全替換,都不會(huì)對(duì)其它兩層造成影響,這樣的構(gòu)造基本就符合三層標(biāo)準(zhǔn)了(雖然實(shí)現(xiàn)起來(lái)比較難^_^)。例如如果將項(xiàng)目從B/S改為C/S(或相反),那么除了UI以外,BLL與DAL都不用改動(dòng);或者將SQLServer改為Oracle,只需替換SQLServerDAL到OracleDAL,無(wú)需其它操作等等。本來(lái)想在文中加入一些具體的代碼的,但感覺(jué)不是很必要,如果大家覺(jué)得需要的話,我再補(bǔ)充吧。

      總結(jié):不要因?yàn)槟硞€(gè)層對(duì)你來(lái)說(shuō)沒(méi)用,或者實(shí)現(xiàn)起來(lái)特別簡(jiǎn)單,就認(rèn)為它沒(méi)有必要,或者摒棄它,或者挪作它用。只要進(jìn)行了分層,不管是幾層,每一層都要有明確的目的和功能實(shí)現(xiàn),而不要被實(shí)際過(guò)程所左右,造成同一類(lèi)文件位于不同層的情況發(fā)生。也不要出現(xiàn)同一層實(shí)現(xiàn)了不同的功能的情況發(fā)生。

      資料三

      三層結(jié)構(gòu)”是“外觀層”、“商業(yè)邏輯層”、“數(shù)據(jù)庫(kù)層”

      假設(shè)以這樣的結(jié)構(gòu)制作一個(gè)留言板,那么應(yīng)該是:

      # 留言板頁(yè)面的外觀代碼都存放在.aspx 文件中

      # 當(dāng)用戶(hù)點(diǎn)擊頁(yè)面上的提交按鈕時(shí),先將文本信息傳遞給一個(gè) LeaveWord 類(lèi)對(duì)象(LeaveWord 類(lèi)的定義被封裝到“商業(yè)邏輯層”)

      # 之后讓這個(gè)對(duì)象執(zhí)行 Post()將留言信息發(fā)送到數(shù)據(jù)庫(kù)

      用一個(gè)簡(jiǎn)單的代碼就是:

      //---------// 在外觀層,當(dāng)用戶(hù)點(diǎn)擊發(fā)送按鈕后

      //---------private void Post_ServerClick(object sender, EventArgs e){ LeaveWord lword=new LeaveWord();lword.Content=Content.Value;lword.Post();}

      //---------// 在商業(yè)邏輯層,定義 LeaveWord 類(lèi)

      //---------public class LeaveWord { public string Content;

      public void Post(){ new LWordData().Post(this.Content);} }

      //---------// 數(shù)據(jù)庫(kù)層,定義發(fā)送方法

      //---------public class LWordData { public void Post(string content){ // 打開(kāi)數(shù)據(jù)庫(kù),將 content 插入到表中

      } } 這樣,外觀層就不必費(fèi)心數(shù)據(jù)庫(kù)操作了...理解基本正確.但是數(shù)據(jù)層已經(jīng)只是數(shù)據(jù)庫(kù)的操作,不應(yīng)該和業(yè)務(wù)有任何關(guān)系,你可以參考SqlHelper.cs 提醒一點(diǎn),系統(tǒng)的“層”是對(duì)代碼的一種邏輯劃分,并不是一定要三層,假設(shè)你的系統(tǒng)很簡(jiǎn)單,就一個(gè)頁(yè)面,那一層就可以,如果系統(tǒng)很復(fù)雜,也可能是n層.差不離了,核心就是外層絕對(duì)不會(huì)涉及任何數(shù)據(jù)處理,他的任務(wù)是設(shè)置界面,獲取數(shù)據(jù),輸出數(shù)據(jù)

      業(yè)務(wù)層最重要,所有數(shù)據(jù)處理在這里,如何運(yùn)用外層提供的數(shù)據(jù)處理業(yè)務(wù) 數(shù)據(jù)庫(kù)層一般都建議調(diào)用存儲(chǔ)過(guò)程,返回?cái)?shù)據(jù)集或其他所需數(shù)據(jù);.net的那兩個(gè)例子很好,多學(xué)習(xí)一下.一個(gè)原則: 上層調(diào)下層

      上層對(duì)下層是不可見(jiàn)的

      設(shè)計(jì)時(shí),表現(xiàn)層只調(diào)用邏輯層,表現(xiàn)層主要是取得頁(yè)面的數(shù)據(jù)傳到邏輯層,和把從邏輯層得到的數(shù)據(jù)顯示到頁(yè)面上。

      邏輯層負(fù)責(zé)把數(shù)據(jù)加工整理傳到數(shù)據(jù)層和把從數(shù)據(jù)層取得的數(shù)據(jù)加工 數(shù)據(jù)層就只負(fù)責(zé)把數(shù)據(jù)對(duì)數(shù)據(jù)庫(kù)操作

      業(yè)務(wù)邏輯層 就是給上層和下層下達(dá)命令和調(diào)節(jié)行為的中間層

      資料四:基于組件的三層B/S結(jié)構(gòu)概述

      在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見(jiàn),也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層(又或成為領(lǐng)域?qū)樱?、表示層。三層結(jié)構(gòu)原理

      3個(gè)層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。

      所謂三層體系結(jié)構(gòu),是在客戶(hù)端與數(shù)據(jù)庫(kù)之間加入了一個(gè)“中間層”,也叫組件層。這里所說(shuō)的三層體系,不是指物理上的三層,不是簡(jiǎn)單地放置三臺(tái)機(jī)器就是三層體系結(jié)構(gòu),也不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶(hù)端不直接與數(shù)據(jù)庫(kù)進(jìn)行交互,而是通過(guò)COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫(kù)進(jìn)行交互。表示層

      位于最外層(最上層),離用戶(hù)最近。用于顯示數(shù)據(jù)和接收用戶(hù)輸入的數(shù)據(jù),為用戶(hù)提供一種交互式操作的界面 業(yè)務(wù)邏輯層

      業(yè)務(wù)邏輯層(Business Logic Layer)無(wú)疑是系統(tǒng)架構(gòu)中體現(xiàn)核心價(jià)值的部分。它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì),也即是說(shuō)它是與系統(tǒng)所應(yīng)對(duì)的領(lǐng)域(Domain)邏輯有關(guān),很多時(shí)候,也將業(yè)務(wù)邏輯層稱(chēng)為領(lǐng)域?qū)?。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一書(shū)中,將整個(gè)架構(gòu)分為三個(gè)主要的層:表示層、領(lǐng)域?qū)雍蛿?shù)據(jù)源層。作為領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的先驅(qū)Eric Evans,對(duì)業(yè)務(wù)邏輯層作了更細(xì)致地劃分,細(xì)分為應(yīng)用層與領(lǐng)域?qū)?,通過(guò)分層進(jìn)一步將領(lǐng)域邏輯與領(lǐng)域邏輯的解決方案分離。

      業(yè)務(wù)邏輯層在體系架構(gòu)中的位置很關(guān)鍵,它處于數(shù)據(jù)訪問(wèn)層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦合結(jié)構(gòu),層與層之間的依賴(lài)是向下的,底層對(duì)于上層而言是“無(wú)知”的,改變上層的設(shè)計(jì)對(duì)于其調(diào)用的底層而言沒(méi)有任何影響。如果在分層設(shè)計(jì)時(shí),遵循了面向接口設(shè)計(jì)的思想,那么這種向下的依賴(lài)也應(yīng)該是一種弱依賴(lài)關(guān)系。因而在不改變接口定義的前提下,理想的分層式架構(gòu),應(yīng)該是一個(gè)支持可抽取、可替換的“抽屜”式架構(gòu)。正因?yàn)槿绱耍瑯I(yè)務(wù)邏輯層的設(shè)計(jì)對(duì)于一個(gè)支持可擴(kuò)展的架構(gòu)尤為關(guān)鍵,因?yàn)樗缪萘藘蓚€(gè)不同的角色。對(duì)于數(shù)據(jù)訪問(wèn)層而言,它是調(diào)用者;對(duì)于表示層而言,它卻是被調(diào)用者。依賴(lài)與被依賴(lài)的關(guān)系都糾結(jié)在業(yè)務(wù)邏輯層上,如何實(shí)現(xiàn)依賴(lài)關(guān)系的解耦,則是除了實(shí)現(xiàn)業(yè)務(wù)邏輯之外留給設(shè)計(jì)師的任務(wù)。數(shù)據(jù)層

      數(shù)據(jù)訪問(wèn)層:有時(shí)候也稱(chēng)為是持久層,其功能主要是負(fù)責(zé)數(shù)據(jù)庫(kù)的訪問(wèn),可以訪問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)、二進(jìn)制文件、文本文檔或是XML文檔。

      簡(jiǎn)單的說(shuō)法就是實(shí)現(xiàn)對(duì)數(shù)據(jù)表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就會(huì)包括對(duì)象和數(shù)據(jù)表之間的mapping,以及對(duì)象實(shí)體的持久化。

      第二篇:基于.Net三層架構(gòu)高校戶(hù)籍管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      基于.Net三層架構(gòu)高校戶(hù)籍管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      摘 要:為了實(shí)現(xiàn)對(duì)高校戶(hù)籍科學(xué)化、規(guī)范化和動(dòng)態(tài)化管理,提出了一種基于.Net三層架構(gòu)技術(shù)的高校戶(hù)籍管理系統(tǒng)解決方案,研究了戶(hù)籍管理系統(tǒng)數(shù)據(jù)訪問(wèn)層、基本邏輯層和頁(yè)面表示層的設(shè)計(jì)及實(shí)現(xiàn)。實(shí)踐證明了解決方案的有效性。

      關(guān)鍵詞:Net;戶(hù)籍管理;三層架構(gòu)

      中圖分類(lèi)號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2011)09-0071-02 系統(tǒng)業(yè)務(wù)分析??

      戶(hù)籍管理系統(tǒng)旨在實(shí)現(xiàn)對(duì)高校戶(hù)籍的科學(xué)化、規(guī)范化和動(dòng)態(tài)化管理。通過(guò)對(duì)戶(hù)籍科相關(guān)人員所做需求分析,該系統(tǒng)必須實(shí)現(xiàn)以下功能:①戶(hù)籍信息管理:包括戶(hù)籍基本信息管理,教師和學(xué)生戶(hù)籍基本信息、相片管理、戶(hù)口遷入、遷出、注銷(xiāo)、遷移及借用等信息的增加、刪除和更新;②信息查詢(xún)管理:包括戶(hù)籍基本信息查詢(xún)、學(xué)生信息查詢(xún)、戶(hù)口遷入、遷出、注銷(xiāo)、遷移及借用信息查詢(xún)等;③收費(fèi)管理:學(xué)生畢業(yè)之后,學(xué)校免費(fèi)保管學(xué)生戶(hù)籍兩年,兩年過(guò)后按照一定的標(biāo)準(zhǔn)收取保管費(fèi)用。此模塊主要包括戶(hù)籍保管費(fèi)用的收取和退費(fèi)等操作;④操作日志管理:戶(hù)籍科操作人員的日常工作無(wú)法量化,收費(fèi)操作需要規(guī)范以避免費(fèi)用的多收、少收、漏收和徇私舞弊的情況的發(fā)生。此模塊將操作人員的所有關(guān)鍵操作記錄在案,以備出現(xiàn)問(wèn)題時(shí),有據(jù)可查;⑤學(xué)院信息管理:此模塊主要包括學(xué)生學(xué)院和專(zhuān)業(yè)信息的增加、刪除、更新和查詢(xún);⑥系統(tǒng)維護(hù):此模塊用來(lái)維護(hù)用戶(hù)基本信息、管理員的權(quán)限以及數(shù)據(jù)庫(kù)的安全,防止非授權(quán)用戶(hù)對(duì)系統(tǒng)有意或者無(wú)意的破壞。??

      系統(tǒng)架構(gòu)??

      2.1 系統(tǒng)整體架構(gòu)??

      分層應(yīng)用設(shè)計(jì)當(dāng)下非常流行。它對(duì)系統(tǒng)的性能、可擴(kuò)展性、可移植性、安全性等提供了有力的保障。經(jīng)典的分層架構(gòu)開(kāi)發(fā)模式將系統(tǒng)分為3個(gè)層次,即數(shù)據(jù)訪問(wèn)層、基本邏輯層和頁(yè)面表示層。當(dāng)然,每個(gè)層次可能分解為更小的子層次以保證系統(tǒng)功能的合理設(shè)計(jì)。戶(hù)籍管理系統(tǒng)的整體架構(gòu)如圖1所示。??

      圖1 系統(tǒng)整體架構(gòu)??

      2.2 數(shù)據(jù)訪問(wèn)層設(shè)計(jì)??

      數(shù)據(jù)訪問(wèn)層負(fù)責(zé)管理數(shù)據(jù)庫(kù)的物理存儲(chǔ)、備份與恢復(fù)。主要包括數(shù)據(jù)庫(kù)的連接與存取操作,即數(shù)據(jù)庫(kù)表的查詢(xún)、更新,增加和刪除操作。數(shù)據(jù)訪問(wèn)層接口對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行抽象,以此對(duì)不同的數(shù)據(jù)庫(kù)(SQL Server,Oracle等)進(jìn)行統(tǒng)一的管理。通過(guò)封裝類(lèi)調(diào)用數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程,同時(shí),上層基本邏輯層提供統(tǒng)一的調(diào)用接口。??

      2.3 基本邏輯層設(shè)計(jì)??

      基本邏輯層作為整個(gè)系統(tǒng)的邏輯處理中心,主要負(fù)責(zé)管理系統(tǒng)的業(yè)務(wù)邏輯和規(guī)則。系統(tǒng)的邏輯處理都被抽象為本層的不同的邏輯接口。邏輯層接口處于數(shù)據(jù)訪問(wèn)層和頁(yè)面表示層之間,對(duì)上層提供接口調(diào)用,調(diào)用下層數(shù)據(jù)訪問(wèn)層接口連接數(shù)據(jù)庫(kù),而非直接連接數(shù)據(jù)庫(kù),降低了層與層之間的耦合度。修改數(shù)據(jù)訪問(wèn)層的接口實(shí)現(xiàn),不需要修改基本邏輯層代碼。??

      2.4 頁(yè)面表示層設(shè)計(jì)??

      頁(yè)面表示層負(fù)責(zé)接收界面輸入和邏輯結(jié)果的顯示。包括頁(yè)面的布局、控件的使用等。頁(yè)面表示層調(diào)用基本邏輯層的接口進(jìn)行邏輯處理。系統(tǒng)邏輯處理發(fā)生變化時(shí),只需要修改基本邏輯層接口實(shí)現(xiàn),不會(huì)影響頁(yè)面表示層的編碼。??

      數(shù)據(jù)庫(kù)設(shè)計(jì)??

      好的數(shù)據(jù)庫(kù)的設(shè)計(jì)是信息系統(tǒng)的一個(gè)重要組成部分。戶(hù)籍管理系統(tǒng)涉及到10多個(gè)表的設(shè)計(jì)和60多個(gè)存儲(chǔ)過(guò)程的編寫(xiě)。限于篇幅,這里不一一列出。??

      主要技術(shù)及開(kāi)發(fā)工具??

      4.1 權(quán)限管理策略??

      系統(tǒng)的訪問(wèn)控制策略使用基于用戶(hù)角色的訪問(wèn)控制策略。這種訪問(wèn)控制策略已經(jīng)廣泛應(yīng)用于系統(tǒng)操作、數(shù)據(jù)庫(kù)及應(yīng)用項(xiàng)目中。角色訪問(wèn)控制策略有利于確認(rèn)和管理用戶(hù)身份,對(duì)不同用戶(hù)分配不同的操作權(quán)限。??

      4.2 系統(tǒng)安全策略??

      為了防止未經(jīng)授權(quán)的用戶(hù)訪問(wèn)系統(tǒng)資源,給系統(tǒng)帶來(lái)危害,同時(shí)考慮到戶(hù)籍管理系統(tǒng)數(shù)據(jù)錄入時(shí)間一般集中在開(kāi)學(xué)等時(shí)間,大批量的數(shù)據(jù)錄入之后,一旦發(fā)生問(wèn)題,導(dǎo)致數(shù)據(jù)丟失,再次重復(fù)錄入數(shù)據(jù),工作量巨大。系統(tǒng)使用自動(dòng)備份與手工備份相結(jié)合的方式,用戶(hù)可以通過(guò)界面,手工備份與恢復(fù)先前的數(shù)據(jù)庫(kù)??紤]到數(shù)據(jù)庫(kù)的移植,在數(shù)據(jù)訪問(wèn)層引入“抽象工廠模式”,根據(jù)數(shù)據(jù)庫(kù)的不同,提供實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)結(jié)構(gòu)的數(shù)據(jù)業(yè)務(wù)邏輯對(duì)象,使用.Net框架的反射機(jī)制,在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)決定調(diào)用的數(shù)據(jù)庫(kù)類(lèi)型。??

      4.3 并行開(kāi)發(fā)策略??

      三層架構(gòu)的優(yōu)勢(shì)之一系統(tǒng)架構(gòu)清晰,合理的分配開(kāi)發(fā)任務(wù),同時(shí)保證系統(tǒng)的并行開(kāi)發(fā),以此提高效率。系統(tǒng)開(kāi)發(fā)過(guò)程中,引入實(shí)體類(lèi)和基本邏輯層和數(shù)據(jù)訪問(wèn)層的共同接口,保證解決方案程序與數(shù)據(jù)庫(kù)的并行開(kāi)發(fā),兩者相關(guān)部分都完成之后,通過(guò)接口,完成數(shù)據(jù)庫(kù)庫(kù)記錄與實(shí)體類(lèi)的映射即可。??

      4.4 版本控制策略??

      項(xiàng)目開(kāi)發(fā)是一個(gè)團(tuán)隊(duì)協(xié)作,迭代開(kāi)發(fā)的過(guò)程,版本的控制與管理非常重要。項(xiàng)目開(kāi)發(fā)過(guò)程中使用visual svn和tortoise svn進(jìn)行系統(tǒng)解決方案、源代碼的控制,單獨(dú)設(shè)立版本控制服務(wù)器,團(tuán)隊(duì)所有成員從服務(wù)器中更新項(xiàng)目的最新版本,每天工作完成之后,單獨(dú)提交各自負(fù)責(zé)部分的開(kāi)發(fā)工作,使服務(wù)器中的版本始終保持最新?tīng)顟B(tài)。??

      4.5 項(xiàng)目開(kāi)發(fā)主要工具??

      項(xiàng)目開(kāi)發(fā)成員使用resharper和coding style enforcer工具保證編碼風(fēng)格的統(tǒng)一,使用NUnit,NCoverage等工具結(jié)合cruise control.net每日構(gòu)建技術(shù),進(jìn)行測(cè)試及覆蓋率檢測(cè),保證產(chǎn)品的質(zhì)量。??

      結(jié)束語(yǔ)??

      戶(hù)籍管理系統(tǒng)采用三層架構(gòu)進(jìn)行設(shè)計(jì)、開(kāi)發(fā),系統(tǒng)接口更加清晰,滿足模塊獨(dú)立性,層內(nèi)高內(nèi)聚、層間低耦合的原則,有利于開(kāi)發(fā)者分工合作,具有很強(qiáng)的通用性、可維護(hù)性和可擴(kuò)展性,可以?xún)H作少量修改升級(jí)為Web Service架構(gòu),為系統(tǒng)維護(hù)及功能擴(kuò)展留下足夠的空間。??

      參考文獻(xiàn):

      [1] HUANG LONGJUN,ZHOU CAIYING,DAI LIPING.Dai Liping.Research and Implementation of E-commerce Platform Based on.NET Framework[Z].Proceeding of the 2009 International Symposium on Web Information System and Application Nanchang,China,May 22-24,2009.[2] 陳友良,盛可軍,王陽(yáng)陽(yáng).基于ASP.NET三層架構(gòu)軟件的研究與開(kāi)發(fā)[J].現(xiàn)代電子技術(shù),2010(6).[3] 江義火.基于ASP.NET MVC2的三層架構(gòu)應(yīng)用系統(tǒng)開(kāi)發(fā)研究與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2010(12).(責(zé)任編輯:周曉輝)

      Design and Implementation of College Residence Management

      System Based on.Net and Three-tier Architecture

      ??

      Abstract:In order to realize the scientific,standardized and dynamic management of college Residence booklet , a solution based on.Net and three-tier architecture has been proposed, the design and implementation of data access layer,basic logic layer and presentation layer is discussed.Practice has improved that it is a effective solution.Key Words: Dot Net;Residence Management;Three Tier Architecture

      第三篇:淺談三層架構(gòu)在網(wǎng)站建設(shè)中的優(yōu)劣勢(shì)

      現(xiàn)今網(wǎng)站建設(shè)技術(shù)中非常流行使用三層架構(gòu)來(lái)開(kāi)發(fā)和維護(hù)網(wǎng)站。通常意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(DAL)。區(qū)分層次的目的即為了達(dá)到“高內(nèi)聚,低耦合”的思想,在代碼重用性上有著天生的優(yōu)勢(shì)。做網(wǎng)站時(shí),使用三層架構(gòu)進(jìn)行網(wǎng)站建設(shè)有什么好處?

      1.便于維護(hù)與擴(kuò)展(維護(hù)修改代碼方便,層次清晰;擴(kuò)展方面,添加功能方便,也使程序有較高的可讀性)。

      2.便于團(tuán)隊(duì)成員進(jìn)行分工合作(現(xiàn)在要么以模塊來(lái)進(jìn)行分工,要么是分層來(lái))。

      3.可以降低層與層之間的依賴(lài),且有利于開(kāi)發(fā)標(biāo)準(zhǔn)化。

      做網(wǎng)站時(shí),使用三層架構(gòu)進(jìn)行網(wǎng)站建設(shè)的劣勢(shì)有哪些?

      降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結(jié)構(gòu),很多業(yè)務(wù)可以直接造訪數(shù)據(jù)庫(kù),以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過(guò)中間層來(lái)完成。當(dāng)然,對(duì)于目前計(jì)算機(jī)性能配置來(lái)說(shuō),幾乎可以忽略這方面的劣勢(shì)。損失微不足道的性能,而獲得高擴(kuò)展、高維護(hù)性的方式,是程序開(kāi)發(fā)的王道!

      網(wǎng)站建設(shè)中三層架構(gòu)各層的作用是什么?

      1.數(shù)據(jù)數(shù)據(jù)訪問(wèn)層:主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫(kù)或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說(shuō),是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫(kù),具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。

      2.業(yè)務(wù)邏輯層:主要是針對(duì)具體的問(wèn)題的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說(shuō)數(shù)據(jù)層是積木,那邏輯層就是對(duì)這些積木的搭建。

      3.表示層:主要表示W(wǎng)EB方式,也可以表示成WINFORM方式,WEB方式也可以表現(xiàn)成:aspx, 如果邏輯層相當(dāng)強(qiáng)大和完善,無(wú)論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。

      使用三層架構(gòu)做出來(lái)的網(wǎng)站具有什么特點(diǎn)?

      1.高擴(kuò)展性:添加設(shè)備只是對(duì)上層應(yīng)用加以改變,從而輕松達(dá)到網(wǎng)站升級(jí)的目的。

      2.高升級(jí)性:網(wǎng)站規(guī)模的擴(kuò)大和功能的升級(jí)對(duì)原有技術(shù)不會(huì)形成沖擊,而是在原有程序模塊加以升級(jí)。

      3.負(fù)載均衡:減輕服務(wù)器負(fù)載壓力,達(dá)到負(fù)載均衡。

      綜上所述,我們建議各位開(kāi)發(fā)者在做網(wǎng)站過(guò)程中盡量采用三層架構(gòu)來(lái)進(jìn)行網(wǎng)站建設(shè),以獲得良好的、健康的系統(tǒng)架構(gòu),而最大程度降低后期的維護(hù)成本。北京網(wǎng)站建設(shè)公司——千助科技在針對(duì)客戶(hù)網(wǎng)站進(jìn)行開(kāi)發(fā)的過(guò)程中,嚴(yán)格采用三層架構(gòu)模式,為客戶(hù)后期的網(wǎng)站維護(hù)、升級(jí)節(jié)省了極大的成本。

      第四篇:NET 開(kāi)發(fā)總結(jié)

      .NET 開(kāi)發(fā)總結(jié)

      Web窗體的簡(jiǎn)單說(shuō)明:

      這次作業(yè)都有一個(gè)共同點(diǎn)就是連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)連接函數(shù)不是很熟悉,弄了好久,最后還是請(qǐng)教同學(xué)才實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接,連接代碼如下圖:

      數(shù)據(jù)庫(kù)連接完成后,開(kāi)始進(jìn)行數(shù)據(jù)的整體的查詢(xún),將查詢(xún)到的數(shù)據(jù)轉(zhuǎn)換成參數(shù),利用參數(shù)進(jìn)行分頁(yè),將數(shù)據(jù)顯示在web上去。

      對(duì)于分頁(yè),我是按照每頁(yè)顯示是個(gè)數(shù)據(jù)來(lái)顯示的,本來(lái)還打算弄一個(gè)下拉窗口,當(dāng)窗口下拉式可以選擇多少個(gè)數(shù)據(jù)分頁(yè)顯示,這一部分的功能還沒(méi)來(lái)得及去實(shí)現(xiàn)。

      分頁(yè)的部分代碼

      對(duì)于web 的查詢(xún)功能,用的是模糊查詢(xún),代碼如圖

      本次的.net開(kāi)發(fā)技術(shù)作業(yè),我選擇做webForm的分頁(yè),之前一直沒(méi)有寫(xiě)過(guò)web的代碼,只自學(xué)過(guò)一點(diǎn)腳本語(yǔ)言,對(duì)C#也不太了解,所以當(dāng)做起來(lái)的時(shí)候比較困難,自己上網(wǎng)找了不少資料,到圖書(shū)館借了一些關(guān)于asp.net web開(kāi)發(fā)的書(shū),對(duì)C#開(kāi)發(fā)的平臺(tái)還不是很熟悉,當(dāng)程序調(diào)試起來(lái)非常困難,經(jīng)常因?yàn)樾?wèn)題而浪費(fèi)許多的時(shí)間,開(kāi)發(fā)過(guò)程中請(qǐng)教過(guò)一些有過(guò)web開(kāi)發(fā)經(jīng)驗(yàn)的同學(xué),也有幫助我進(jìn)行程序的調(diào)試。由于不熟悉浪費(fèi)了許多時(shí)間,沒(méi)有對(duì)代碼沒(méi)有時(shí)間去整理,使得代碼看起來(lái)很凌亂,很累贅,看起來(lái)顯得麻煩,還是一些功能還沒(méi)有實(shí)現(xiàn),像查詢(xún)后的數(shù)據(jù)進(jìn)行分頁(yè),以及數(shù)據(jù)的修改和刪除。

      第五篇:.NET實(shí)習(xí)個(gè)人總結(jié)

      .NET實(shí)習(xí)個(gè)人總結(jié)

      實(shí)習(xí)就要接近尾聲了,其實(shí)我很不愿意寫(xiě)這個(gè)總結(jié),因?yàn)樵趯?xiě)完這個(gè)總結(jié)的時(shí)候也就意味著要結(jié)束我的實(shí)習(xí)生活了,在這段實(shí)習(xí)期間,我收獲到了不少的知識(shí),而且也懂得了公司的一些規(guī)章制度,更全面的了解到了以后要是工作應(yīng)該怎么做,不會(huì)初來(lái)乍到的去犯錯(cuò)誤了,這次實(shí)習(xí)給了我一個(gè)機(jī)會(huì),讓我體驗(yàn)到了上班的樂(lè)趣。

      雖然這段時(shí)間只有上午去公司,但是讓我又養(yǎng)成了一個(gè)很好的習(xí)慣,那就是早起,平時(shí)在學(xué)校不到上課點(diǎn)都不起床,現(xiàn)在7點(diǎn)有時(shí)候甚至不到7點(diǎn)就起床了,這樣非常好,而且上午接受培訓(xùn)期間,我也習(xí)慣了聽(tīng)課,從而達(dá)到聽(tīng)課不困了。

      這段時(shí)間,我又深入到了.NET的學(xué)習(xí)中,從剛開(kāi)始的皮毛知識(shí),已經(jīng)演變到了可以達(dá)到團(tuán)隊(duì)甚至自己就可以編寫(xiě)出一個(gè)軟件了,這個(gè)實(shí)習(xí)的項(xiàng)目是《PSS進(jìn)銷(xiāo)存系統(tǒng)》雖然知識(shí)一個(gè)簡(jiǎn)單的系統(tǒng)軟件,但是我們可以由一個(gè)小軟件演變成為一個(gè)大軟件,再演變?yōu)楦蟮能浖?,不再單單是一個(gè)進(jìn)銷(xiāo)存系統(tǒng)了。

      在這次學(xué)習(xí)中,我知道了常規(guī)的一些代碼如何書(shū)寫(xiě)了,還更深入的了解到了VS 2008和數(shù)據(jù)庫(kù)的使用,在編寫(xiě)代碼的時(shí)候肯定會(huì)遇到一些問(wèn)題,但是我們團(tuán)隊(duì)?wèi){著不怕苦不怕累的精神去虛心向別人請(qǐng)教問(wèn)題,最終完成了《PSS進(jìn)銷(xiāo)存系統(tǒng)》的研發(fā),雖然功能沒(méi)有完全的開(kāi)發(fā)完畢,但是我們一致認(rèn)為這不是問(wèn)題,因?yàn)槲覀冇懈嗟臅r(shí)間去接觸它,而并不單單的在課堂上做。課堂的時(shí)間畢竟是有限的,課外的時(shí)間是無(wú)限的,所以我們會(huì)繼續(xù)努力,一步一步的向上爬,最終會(huì)

      完成這個(gè)項(xiàng)目。

      最后一節(jié)課的時(shí)候,老師給我們講了一些面試的技巧,叫做《面試寶典》我們從中也學(xué)到了很多知識(shí),例如:如何跟公司交流等……

      這次的實(shí)習(xí)給了我很大的信心,讓我在IT行業(yè)發(fā)展有了更大的信心。相信我的明天會(huì)更好!

      ——.NET(1班)胡志強(qiáng)

      下載三層架構(gòu)應(yīng)用總結(jié)——.netword格式文檔
      下載三層架構(gòu)應(yīng)用總結(jié)——.net.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        企業(yè)應(yīng)用架構(gòu)模式讀書(shū)筆記

        企業(yè)應(yīng)用架構(gòu)模式讀書(shū)筆記 主要說(shuō)明的問(wèn)題 ? 企業(yè)級(jí)程序分層 ? 構(gòu)建領(lǐng)域的業(yè)務(wù)分層 ? ? ? ? 構(gòu)建用戶(hù)界面 將內(nèi)存模塊影謝到關(guān)系型數(shù)據(jù)表 在無(wú)狀態(tài)下處理會(huì)話狀態(tài) 分布原則 系統(tǒng)架......

        思科三層交換機(jī)配置總結(jié)

        思科交換機(jī)的基本配置命令學(xué)習(xí)CISCO交換機(jī)基本配置:Console端口連接 用戶(hù)模式hostname# ; 特權(quán)模式hostname(config)# ; 全局配置模式hostname(config-if)# ; 交換機(jī)口令設(shè)置: s......

        Net面試知識(shí)點(diǎn)總結(jié)(精選五篇)

        JQuery 1、JQ概述 Jquery是繼prototype之后又一個(gè)優(yōu)秀的Javascript框架。它是輕量級(jí)的js庫(kù) ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.......

        XX年最新關(guān)于.net實(shí)習(xí)總結(jié)

        XX年最新關(guān)于.net實(shí)習(xí)總結(jié) 畢業(yè)實(shí)習(xí)是教學(xué)過(guò)程中的重要組成部分,是使學(xué)生獲取生產(chǎn)、經(jīng)營(yíng)實(shí)際知識(shí)和技能,鞏固和加深對(duì)理論知識(shí)的理解,培養(yǎng)與提高能力的重要實(shí)踐環(huán)節(jié)。下面是小......

        《.NET程序開(kāi)發(fā)》心得總結(jié)

        《ASP.NET程序開(kāi)發(fā)》心得總結(jié) 短短的四個(gè)月很快過(guò)去了,在這短短的四個(gè)月里,我學(xué)到了很多,了解了很多。經(jīng)過(guò)一個(gè)學(xué)期的簡(jiǎn)單學(xué)習(xí)和上課聽(tīng)講,初步掌握了ASP.NET動(dòng)態(tài)網(wǎng)頁(yè)制作的一些......

        關(guān)于大型asp.net應(yīng)用系統(tǒng)的架構(gòu)

        關(guān)于大型asp.net應(yīng)用系統(tǒng)的架構(gòu) 前言 最近幾年在.net方面的工作經(jīng)歷,讓我長(zhǎng)久以來(lái)(有幾年了)想寫(xiě)關(guān)于大型asp.net應(yīng)用系統(tǒng)架構(gòu)文章的念頭。之前和同事們聊天的時(shí)候說(shuō)的都是一......

        ssh架構(gòu)個(gè)人總結(jié)

        (轉(zhuǎn)載)看過(guò)了兩三個(gè)SSH搭建的視頻(浪曦風(fēng)中葉老師、尚學(xué)堂李勇老師的兩個(gè)視頻),也跟著視頻把這個(gè)框架搭了兩遍,有點(diǎn)迷迷糊糊的,為了加深印象,我決定不依靠視頻再來(lái)搭一遍, 經(jīng)過(guò)一天......

        JavaEE體系架構(gòu)總結(jié)

        第一章 javaEE體系架構(gòu) web回顧: web的核心技術(shù)就是servlet和JSP,然而組成一個(gè)基本的web應(yīng)用程序還有:客戶(hù)端瀏覽器、HTTP協(xié)議、javabean、xml、標(biāo)記庫(kù)、web服務(wù)器和web容器等......