Java中常常會用到VO(Value Object)和DO(Data Object)這兩個概念。最初來自于Struts框架,現(xiàn)在已經(jīng)被廣泛地應(yīng)用到Java項目的開發(fā)中。
VO通常用于表現(xiàn)層,是一種用于簡化業(yè)務(wù)對象的概念模型,主要作用是將控制器與視圖之間的數(shù)據(jù)傳遞封裝起來,使得開發(fā)人員能夠更加方便與安全地進行數(shù)據(jù)傳輸。
一個VO類通常包含屬性和相應(yīng)的get/set方法。例如:
public class UserVO { private long id; private String username; private String password; // getters and setters public long getId() { return id; } public void setId(long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
DO通常用于數(shù)據(jù)傳輸層,是程序中與數(shù)據(jù)庫交互的對象,主要作用是將業(yè)務(wù)邏輯的處理結(jié)果封裝起來,使得數(shù)據(jù)層能夠更加高效地進行數(shù)據(jù)庫交互操作。一個DO類通常包含屬性和相應(yīng)的get/set方法。例如:
public class UserDO { private long id; private String username; private String password; // getters and setters public long getId() { return id; } public void setId(long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }