實體類是用於對必須儲存的資訊和相關行為建模的類。
實體物件(實體類的執行個體)用於儲存和更新一些現象的有關資訊,例如:事件、人員或者一些現實生活中的對象。實體類通常都是永久性的,它們所具有的屬性和關係是長期需要的,有時甚至在系統的整個生存期都需要。
1.對於大量的資料來說用基礎資料型別 (Elementary Data Type)變數做參數顯示不合適. 比如,我要把某個學生的所有資訊傳到下層, 包括姓名、年齡、 學號、 班級......如果拿變數做參數 ,那在你的方法中起碼有n個參數 。這樣不僅繁瑣而且很容易造成參數匹配上的錯誤, 而如果拿實體物件做參數則方便的多,只要傳一個學生實體就可以了,然後在方法裡通過實體屬性擷取或者設定實體物件裡的成員屬性值 。
2.實體物件實際上是對應著資料庫裡的每張表的,我們把表裡的欄位封裝在一個實體物件裡。當你想用哪個欄位,通過該實體物件的屬性把那個欄位提取出來,這比你臨時建立一個變數要靈活的多而且便於程式的維護和擴充.在實際的三層結構開發中實體層的作用就是便於層和層之間的資料傳遞
3.實體體現了物件導向程式開發的思想,把大量的資料進行封裝然後傳遞.當然如果只是一兩個參數,那麼傳遞實體或者傳遞變數都可以 。比如你想查詢某個學號的學生資訊,那麼你完全就可以以StudentNumber為參數傳下去, 就沒必要把他再封裝到實體物件裡了。
實體類與Datatable 的比較
實體類是強型別。強型別的則嚴格要求在編譯期進行檢查 ,它為變數啟用 IntelliSense 支援。這允許您在輸入代碼時看到變數的屬性和其他成員。它會運用編譯器類型檢查。這將捕捉到因溢出等錯誤而在運行時失敗的語句。這也可以在不支援方法的對象上捕捉對方法的調用。使代碼的執行速度更快。在分層開發中編寫其他層的人員無需手動填寫需要的欄位,直接按一下點,全都提示出來了,想用哪個用哪個,不會出現寫錯的情況。不必刻意去瞭解資料庫結構。符合物件導向思想。實體類的屬性是強型別,每個欄位的類型都是已知的。由於大量的實體類以及實體與實體之間的關聯關係會降低開發的速度,但運用實體會使軟體易維護、功能擴充。
Datatable為弱類型,弱類型的檢查很弱,僅能嚴格的區分指令和資料。所以一些資料類型的錯誤在強型別下就可以在編譯期檢查出來,而弱類型就會導致資料錯誤。Datatable可以看成為一張儲存資料的二維表,Datatable不符合物件導向編程思想。在分層合作開發時每一層的開發人員都必須瞭解資料庫的結構。DataTable為弱類型,無法直觀的看出欄位的資料類型。最重要的是不符合物件導向編程思想。在開發過程中使用Datatable比實體開發速度快但軟體的品質不易保證而且維護難度大不易功能擴充。