Соглашения / правила объявления переменных в шаблоне Java MVC? - PullRequest
0 голосов
/ 10 мая 2011

Я новичок в мире Java.Как избежать путаницы при объявлении переменной в шаблоне MVC над той же переменной?

Например,

В Сервлете (Контроллере):

String firstName     = request.getParameter("firstname");
String lastName      = request.getParameter("lastname");

В Бине (Модель):

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. Должны ли переменные в сервлетаха ДАО будет таким же?Должны ли переменные в Моделях / Бобе отличаться от Servlet и DAO?

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Я думаю, что имена переменных, которые вы использовали, хороши.Вы можете назвать свои классы в зависимости от типа модуля.Таким образом, вы можете назвать свои классы, используя такие имена, как MyApplicationController, EmployeeModel, EmployeeDAO и т. Д.

2 голосов
/ 10 мая 2011

В вашем сервлете это будут переменные метода. Это очень хорошо.

В вашей модели это работает как свойства модели. Это тоже очень хорошо.

По сути, вы на самом деле ссылаетесь на свойства модели, а не объявляете какую-либо переменную.

В 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. Надеюсь, это прояснит ваше замешательство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...