[Asp.net入門07】第一個ASP.NET 應用程式-建立資料模型和存放庫

來源:互聯網
上載者:User

標籤:

1.理解概念

先理解一下兩個概念。

模型

模型是指資料的結構類型,以及可調用的方法。對物件導向編程方法來說,其實就是類。模型類就是一個描述資料的類。只有把資料按一定方式描述出來,我們才能在程式中方便地使用它。

存放庫

直白解釋就是儲存資料的倉庫。通常就是用資料庫來儲存資料,當然也有檔案儲存體等其他儲存方式。存放庫的作用很顯然是將資料永久儲存起來。

2.建立資料模型

我們在【Asp.net入門06】第一個ASP.NET 應用程式(4)-案例說明中定義的案例項目比較簡單,只需要一個簡單的資料模型。下面是添加這個資料模型(類)的操作步驟。

操作步驟

第一步:在Solution Explorer(方案總管,記住這兩個單詞,以後不解釋了)中按右鍵PartyInvites項目(注意是點擊項目,不是點擊解決方案),然後從快顯功能表中選擇Add→Class(類)。(另一種方法是從快顯功能表中選擇“建立項”也是一樣的效果)

提示 如果沒有看到Class功能表項目或該功能表項目處于禁用狀態,說明Visual Studio調試器可能正在運行。當它正在運行應用程式時,Visual Studio會限制你對項目變更。請從Debug菜單中選擇Stop Debugging(停止調試),然後重試。

第二步:第一步之後,Visual Studio將會顯示Add New Item(添加新項)對話方塊,其中包含你可以添加到ASP.NET項目中的所有項的模板。確保“類模板”處於選中狀態,將其名稱設定為GuestResponse.cs,然後單擊Add按鈕。Visual Studio將建立一個新的C#類檔案,並開啟檔案以供編輯。設定該檔案的內容,使其與代碼清單1-4的內容相一致。

代碼清單1-4 GuestReponse類

 

代碼解釋

(1)類成員:屬性

上述代碼是一個C#類的定義。其中,類名稱是GuestResponse,該類有4個成員,這種成員在C#中有一個專門的名字:屬性。其實它相當於java中的getXXX和setXXX成員方法。上述成員屬性是一種簡化寫法,完整寫法是:

圖2 Name屬性的完整寫

提示
java中給一個成員變數提供讀寫功能的寫法是:class GuestResponse{ private String name; public String getName(){ return name; } public String setName{String n}{ name = n; }}

 (2)可空類型:bool?

bool類型變數可以賦的值只有兩個:true和false。bool?也是一種資料類型,bool?變數可以賦的值有三個:true、false和null。null表示既不是true也不是false,值為空白。後面將解釋WillAttend屬性選擇這種資料類型的原因。

3.建立存放庫

GuestReponse類的用來執行個體顯示晚會嘉賓的回函。這需要一個存放庫來儲存所建立的GuestResponse對象。在實際應用中,此存放庫通常為資料庫。我們後面會建立一個更加真實的ASP.NET應用程式時,將介紹如何設定和使用資料庫。在本章中,我們只需要一種簡單快捷的儲存方法,因此,樣本將Object Storage Service在記憶體中。這樣做的好處是方便,但每次停止或重新啟動應用程式,資料都會丟失。對現實中的Web應用程式來說,這可能是一個奇怪的選擇,但就本章來說,這是一個不錯的選擇。

要定義存放庫,在項目中添加一個新的類檔案ResponseRepository.cs,這個類的作用是實現實現將資料存放區在記憶體中,並對資料進行讀寫。請確保該檔案的內容與代碼清單1-5的內容相一致。

代碼清單1-5:ResponseRepository.cs

 程式碼分析

第11句:執行個體化一個鏈表,鏈表裡存放GuestResponse對象。

第18句-21句:返回包含所有受邀者資訊的鏈表。很明顯,這是一個成員函數,並不是屬性或者成員變數。IEnumerable<T>是一種介面類型,因為List<T>是繼承自IEnumerable<T>的,所以返回的resposes對象是沒有問題的。這涉及到使用介面實現多態的知識,這裡不專門展開,請自行參考淺談C# 多態的魅力(虛方法,抽象,介面實現)

思考
請課後自行學習介面的知識,弄清介面的作用和基本用法,並編寫一個簡單的介面程式。

第23句-26句:往存放庫中增加一個邀請(GuestResponse對象)。這裡是直接增加到記憶體鏈表responses對象中(實際項目中往往是寫到資料庫裡)。

 

[Asp.net入門07】第一個ASP.NET 應用程式-建立資料模型和存放庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.