public abstract class BaseDAO<T extends BaseDTO> {
public Integer create(T dto) {
}
public Integer update(T dto) {
}
public Integer delete(T dto) {
}
}
public class JobDAO extends BaseDAO<JobDTO> {
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
}
我正在尝试理解Model, View, Controller
约定,并且我想将其应用于MVC
由数据传输和访问对象组成的上述类结构。我不明白的是,我的结构是否高于 MVC?如果有,型号是什么?我猜 DTO 是他们自己Model
。Job_GUI 是View
我已经知道的,但是什么是Controller
??
我想直接actionPerformed
在 Job_GUI 本身中编写代码,类似于在 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 约定?你会把上面的片段放在哪里?controller
如果我要使用DTO
,DAO
Design Pattern
进行数据库交互,那么困惑在于确定我所拥有的所有类中的哪个类。