2011-05-10 20 views
0

私はJava Worldの初心者です。同じ変数に対するMVCパターンの変数宣言との混乱を避けるには?例についてはJava MVCパターンの変数宣言の規則/規則?

、サーブレット(コントローラ)で

:ビーン(モデル)では

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

:DAO(データアクセス層)で

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; 
} 

public void savePerson(String firstName, String lastName) { 
    // Method statements 
} 

JSPで(表示):

${person.firstname} ${person.lastname} 

私の質問/混乱?

  1. 異なる
    モジュール(コントローラ、モデル、ビュー、DAO)で同じ変数を宣言する適切な方法は何ですか?そして、どうやって混乱を避けるべきですか?

  2. 異なる モジュールで変数を宣言する際に従わなければならない慣習はありますか?

  3. サーブレットとDAOの変数は同じにする必要がありますか?モデル/ Beanの変数 はサーブレットとDAOと異なるはずですか?

+1

少なくとも、一貫性があります。 'firstname'、' firstName'、 'FirstName'を混ぜてはいけません。これは意味がありません。どこでも 'firstName'を使うだけです。あなた自身とあなたの将来のJavaコード管理者に好意を持ってください。 – BalusC

+0

以前は、各モジュールに別々の変数宣言があるべきだと思いました。しかし、今、私はポイントを持っています。 Model/Beanで宣言し、どこからでもアクセスできます。ありがとうございました。 –

答えて

2

サーブレットでは、メソッド変数になります。それはかなりうまいです。

モデルでは、これはモデルのプロパティとして機能します。それもかなりうまいです。

実際には、Modelのプロパティを参照していて、変数を宣言していません。

DAOでは、実際にはモデルを永続化しています。

ので、サーブレット/コントローラでは、これはより多くのこのような何か、

Person p = new Person(); 
p.setFirstName(request.getParameter("firstname")); 
p.setLastName(request.getParameter("lastname")); 

そして、あなたのDAOになり、それが故により、このような、

public void savePerson(Person person) { 
    // Method statements 
} 

だろう、宣言だけで起こりますModel。私はあなたの混乱をクリアすることを願っています。

+0

私はあなたが言っているコンセプトを得ました。それは私が前にやったよりもはるかに簡単です。ありがとうございました。 –

2

私が使用している変数名は問題ないと思います。モジュールのタイプに基づいてクラスに名前を付けることができます。したがって、MyApplicationController、EmployeeModel、EmployeeDAOなどの名前を使用してクラスに名前を付けることができます。