public abstract class BaseDAO {
public Integer create(T dto) {
}
public Integer update(T dto) {
}
public Integer delete(T dto) {
}
}
public class JobDAO extends BaseDAO {
public JobDAO(Connection conn) {
super(conn);
}
@Override
public String getDBTableName() {
return "JobTABLE";
}
}
public class BaseDTO {
protected Integer ID;
public Integer getID() {
return ID;
}
public void setID(Integer ID) {
this.ID = ID;
}
}
public class JobDTO extends BaseDTO {
Integer employerID;
//getter
//setter
}
public class Job_GUI extends javax.swing.JFrame {
//GUI properties
}
我试图理解模型,视图,控制器约定,并且我想将MVC应用于上述由数据传输和访问对象组成的类结构.我无法理解的是,我的结构是否高于MVC?如果是这样,模型是什么?我猜DTO本身就是模型. Job_GUI是我已经知道的视图,但是控制器是什么?
我想直接在Job_GUI本身中编写actionPerformed代码,就像下面的代码片段那样在db中创建作业:
JobDAO jdao = new JobDAO(conn);
//create object jobDTO to hold all form values to be passed to JobDAO
final JobDTO jobDTO = new JobDTO();
//populating JobDTO with values from form
jobDTO.setEmployerID(id);
jobDTO.setDescription(description.getText());
jobDTO.setTitle(txtTitle.getText());
jdao.create(jobDTO);
但以上内容应位于Job_GUI类本身或其他位置.如果要在Job_GUI中插入上面的代码段,我是否正朝着远离MVC约定的方向发展?您将上述片段放在哪里?如果我要使用DTO,DAO设计模式进行数据库交互,那么困惑就在于从我拥有的所有控制器中识别出哪个是控制器类.