【发布时间】:2011-03-25 05:41:43
【问题描述】:
我的问题陈述是:
我想写设计文件管理(添加、复制、删除等操作)。有两种方法:
- 服务驱动方法
写入仅包含文件属性的文件 VO。例如
public Class File {
private boolean hidden;
private boolean read;
private boolean write;
public boolean isHidden() {
return hidden;
}
public void setHidden(boolean hidden) {
this.hidden = hidden;
}
public boolean isRead() {
return read;
}
public void setRead(boolean read) {
this.read = read;
}
public boolean isWrite() {
return write;
}
public void setWrite(boolean write) {
this.write = write;
}
}
并为文件相关操作分离服务。例如:
public Class FileService {
public boolean deleteFile(File file) {
//Add delete logic.
}
//Same way you can add methods for Add and copy file.
}
- 领域驱动方法(这里我可能错了。)
文件 VO 包含所有属性和所需操作:
public class File {
private boolean hidden;
private boolean read;
private boolean write;
public boolean isHidden() {
return hidden;
}
public void setHidden(boolean hidden) {
this.hidden = hidden;
}
public boolean isRead() {
return read;
}
public void setRead(boolean read) {
this.read = read;
}
public boolean isWrite() {
return write;
}
public void setWrite(boolean write) {
this.write = write;
}
public boolean deleteFile() {
//Add delete logic.
}
//Same way you can add methods for Add and copy file.
}
那么这两种方法的优缺点是什么?
【问题讨论】:
标签: java architecture domain-driven-design