我是Java世界的新手。如何避免 MVC 模式中的变量声明与同一变量混淆?
例如
在 Servlet (控制器) 中:
String firstName = request.getParameter("firstname");
String lastName = request.getParameter("lastname");
在 Bean (模型) 中:
private String firstname;
private String lastname;
public Person(String FirstName, String LastName) {
setFirstName(FirstName);
setLastName(LastName);
}
//Getter and Setter Methods
public String getFirstName() {
return firstname;
}
public void setFirstName(String FirstName) {
this.firstname = FirstName;
}
public String getLastName() {
return lastname;
}
public void setLastName(String LastName) {
this.lastname = LastName;
}
在 DAO(数据访问层)中:
public void savePerson(String firstName, String lastName) {
// Method statements
}
在 JSP(视图)中:
${person.firstname} ${person.lastname}
我的问题/困惑?
在不同的
变量中声明相同变量的正确方法是什么 模块(控制器,模型,视图,DAO)?我应该如何避免混淆?
在不同的变量中声明变量时,我是否必须遵守任何约定 模块?
Servlet 和 DAO 中的变量应该相同吗?模型/Bean 中的变量应该 与 Servlet 和 DAO 不同吗?
在你的 servlet 中,这些将是方法变量。这很好。
在您的模型中,这用作模型的属性。那也挺好的。
鉴于您实际上是在引用模型的属性,而不是声明任何变量。
在DAO中,你实际上是在坚持你的模型。
所以,在 Servlet/Controller 中,这将更像这样,
Person p = new Person();
p.setFirstName(request.getParameter("firstname"));
p.setLastName(request.getParameter("lastname"));
而在你的DAO中,它更像是这样,
public void savePerson(Person person) {
// Method statements
}
因此,声明只发生在Model
。我希望它能消除你的困惑。
我认为您使用的变量名称很好。您可以根据模块的类型命名类。因此,您可以使用MyApplicationController,EmployeeModel,EmployeeDAO等名称来命名类。