初識VO DTO DO PO實體類

2022-06-23 10:39:32 字數 729 閱讀 3147

首先解釋一下,vo、dto、do、po均是實體類,其性質是一樣的,只是因為安全性及其他原因將其劃分為了不同的層次。之所以這麼劃分是因為:假如有一張user表,包含username、userpassword、age、position這四個字段。現要展示user表中的資訊到頁面,密碼肯定是不能展示的,但是與表user對應的po實體類有userpassword屬性,如果全域性都用這乙個實體類,那麼密碼欄位也會被傳到頁面,卻不被使用。這樣一來,傳遞了無用字段,並且安全性得不到保障。

1. vo:view object(檢視物件,作用於前台頁面與表示層之間,將所有的資料封裝到一起,比如:表單資料)

vo一般用於封裝前端頁面傳遞到action/controller的所有引數,這些引數並不一定完全與資料庫中表的所有欄位均匹配。

2. dto: data transfer object(資料傳輸物件,作用於表示層與業務層之間)

action/controller將接收到的vo物件進行業務邏輯處理,轉化或者構造成dto物件將其傳遞給service層

3. do:domain object(領域物件,作用於業務層與dao層之間)

service使用接收到的dto資料傳輸物件構造或者重構do物件,傳遞到dao層

4. po:persistent object(持久化物件,作用於dao層與資料庫互動)

po物件一般對應著表結構,由do物件進過持久化得到po物件(比如,通過orm將其持久化)。轉化為持久化物件po後則可以與資料庫進行互動。

建立實體類

下面直奔今天的主題 建立實體類 一點小插曲 接觸abp框架之前,一直都是使用的ef的dbfirst,在那種模式下,我們只要設計好資料庫,然後直接通過模板就生成了實體層,甚至都沒怎麼留意實體層的 是什麼樣子。現在要使用codefirst,就要反過來,先要寫 了,真有點不適應。好吧,為了學好abp,也要...

字典實體類 DictionaryEntry類

dictionaryentry類是乙個字典集合,主要包含的內容是鍵 值對。這種組合方式可以方便地定位資料,其中的 鍵 具備唯一性,類似於資料庫中的 id 乙個id對應一天記錄,而乙個鍵只對應乙個值。使用dictionaryenry類可以方便地設定和檢索資料。雖然被稱為字典集合,但dictionary...

C 反射實體類

using system using system.collections.generic using system.text using system.reflection namespace easysrcoreclass.component.utilcomponent 設定屬性值 public...