2012-01-27 10 views
14

私のコントローラとモデル、Java/Spring/MVC Webアプリケーションで「設定」クラスがあるとします。さて、/controllers//models/の両方で、私は...Spring/MVC webappのControllerクラスとModel Javaクラスの命名規則?

1)...それらの両方ともSettings.java

2)...それらの名前はSettingsController.javaSettingsModel.javaなどですか?

私は典型的な命名規則と、個人的な経験に使用されている命名規則についてはうまくいきました。おそらく貧弱な例の代わりに、自分のwebappプロジェクトを自由に参照することができます。

これは私の最初のMVC webappです。私はそれを感じています。

答えて

21

Settings.java私はあなたのコントローラSettingsControllerとモデルだけSettingsを呼び出すことをお勧めしたいです。モデルには実際にデータが含まれているからです。モデルにはどのような種類のデータが含まれていますか?答えは設定です。だから、それを設定と呼んでください。

コントローラは別の話です。あなたのデータを扱うクラスです。おそらく設定を扱うクラスがたくさんあります:SettingsBuilderSettingsFactorySettingsUtilSettingsServiceなどです。これはコントローラなので、SettingsControllerと呼んでください。

+2

これは正解と思われ、完全に意味があります。ありがとうございました。 MVCの理解を広げたばかりです。 – Xonatron

+0

あなたは大歓迎です – AlexR

1

私は次のスタイルは、理由はSettingsControllerはそれがSettingsオブジェクトに取り組んコントローラだということを説明しながらSettingsは、それが正確に何を記述名であるということである最もコヒーレント

com.company.web.controller 
       +- SettingsController.java 
com.company.web.model 
       +- Settings.java 

だと思います。

+0

私はあなたの命名に同意するが、パッケージ構造と一致しない - 私は同じパッケージでそれらの両方を持っているだろう、あるいは少なくとも同じパッケージの下木。しかし、これも優先事項の問題かもしれません。 –

+0

@RobHruska我々は 'com.subdomainname.controllers'と' com.subdomainname.models'と同じように設定しました。これは会社が私のために働く構造なので、私は一緒に従わなければなりません。 – Xonatron

5

モデルクラスは「実生活」エンティティを記述しているので、名前で呼び出すほうがよいので、あなたの場合はSettings.javaになります。

コントローラは、特定のアーキテクチャ(MVC)を使用する場合の副産物であるため、接尾辞はControllerとなり、場合によってはSettingsController.javaとなります。

たとえば、jsfを使用してアプリケーションを作成した場合、モデルとしてSettings.javaがまだありますが、コントローラとしてはSettingsBean.javaがコントローラとして使用できます(これは別のコンベンションであり、好きなように呼び出せます)。

3

名前それらはSettingsController.java

2

私はSettings.javaとSettingsController.javaを選択します。

*コントローラーは、コントローラーの名前付けに関するSpringの規則に従います。さらに、それはプログラマがクラスが何を直ちに理解することができます。

一般的に、私はPOJOの簡単な名前のためにいつも飽き飽きしています。Settings.javaはここの請求書に合っているようです。

1

私は以前のポスターに同意する必要があります。モデルはエンティティの名前にする必要があります。そして、形容詞はエンティティの接尾辞にする必要があります。SettingsとSettingsControllerこれはかなり頻繁に行うことです。私はまたウェブページの名前としても設定を使用します。

0

私はモデルクラス用のコントローラとcom.company.model.Settings.javaため

com.company.controller.SettingsServlet.javaを使用します。

コントローラークラスのコントローラーアスペクトは、パッケージ名がcom.company.controllerであることを示すことができますが、結局サーブレットであり、この名前を持つものとして間違いありません。コントローラは、技術的にはどんなタイプのものでもあり得る。モデルクラスもパッケージ名で示されます。信仰のみにより従うこと

は盲目的に従うことです - ベンジャミン・フランクリンを