模型视图控制器 - Java MVC 模式中的变量声明约定/规则



我是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}

我的问题/困惑?

  1. 在不同的
    变量中声明相同变量的正确方法是什么 模块(控制器,模型,视图,DAO)?我应该如何避免混淆?

  2. 在不同的变量
  3. 中声明变量时,我是否必须遵守任何约定 模块?

  4. 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等名称来命名类。

最新更新