![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
strutsを使用してデータベース接続を行っています。
ActionFormにはgetter、setterのみを記述、
Actionにはデータベース接続の確立、SQL文の取得、などを記述、
ActionFormにはgetter、setter、データベース接続の確立などを記述、
ActionにはfindForwardのみを記述、
現在、上記2通りの記述方法を使用しています。
そこで疑問なのですが、このまま2通りの記述方法を
使用するか、一つにするかを考えています。
特に、使用感に問題も無いのですが少々気になりました。
好みの問題等もあるのでしょうか。
よろしくお願い致します
No.2ベストアンサー
- 回答日時:
ご指摘のように好みの問題かもしれませんが、
私は前者です。
ActionFormはあくまでFormとしてgetter、setterのみを定義して、
ロジックはロジックとして、Actionに持たせたほうがよいと思います。
もちろんアクションクラスにベタには書きませんが、
ロジッククラスを作っておいて、
アクションはロジッククラスを呼び出し、
ロジッククラスが、DB接続、SQL文発行しフォームに取得した値を設定し、
最後にアクションがフォワードする
といった形でしょうか。
このあたりは、No1さんもおっしゃるとおり
Strutsの各クラスの役割を理解して
明確にコーディング規約を作っておいたほうがよさそうですね。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
No.3
- 回答日時:
こんにちは。
私も前者の方です。
もっともgetter/setter以外に、formに関するflag等の設定処理が若干入っていたりもしますが。
でも、現状一番問題なのは「2つが混在していること」じゃないでしょうか?
特に「データベース接続の確立」の処理が記述されている場所がばらばらっていうのは、リファクタリング最優先事項だと思います。
回答ありがとうございます。
やはり、統一させるべきなのですね。
皆様の言うとおり、ルール作りをはっきりとさせます。
この場を借りて、再び皆様にお礼を言わさせてもらいます。
どうも、ありがとうございました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?e8efa67)
No.1
- 回答日時:
で、結局何が聞きたいんでしょうか?
どっちがいいかアドバイスが欲しいということでしょうか?
それなら、どちらか一方に決めた方がいいと思います。
ある程度のルールがないと煩雑になりメンテナンス性が悪くなります。
もうひとつ言うと、ActionFormはパターンでいうところのValuObjectです。
なので、ActionFormにビジネスロジックは含めるべきではないですね。
何の為にStrutsを使っているのか、MVCモデルとは何かを調べてみてください。
こちらの言葉足らずで申し訳ありません。
StrutsやMVCモデルについて調べなおし、
ルールを定めようと思います。
まだまだ勉強不足だと痛感しました。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 弁護士・行政書士・司法書士・社会保険労務士 記述対策について 1 2022/09/19 20:51
- 簿記検定・漢字検定・秘書検定 簿記問題について 2 2023/05/24 07:07
- UNIX・Linux bash のファイルの読み込み方についてご質問 3 2023/05/15 20:40
- 高校 読解力をつけたい 2 2023/06/10 15:11
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- 日本語 【日本国語大辞典】?の記述について。 7 2022/06/11 20:37
- Wi-Fi・無線LAN 30メートル以上離れた家屋に無線LAN環境構築方法 7 2022/09/18 18:08
- 哲学 日本語のあたらしい文法を考えよう。 6 2022/06/25 17:41
- Wi-Fi・無線LAN 新品のwifiルーター、子機でネットに接続できません 4 2023/08/21 21:16
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java eclipse 型に解決できません
-
main()を持つクラスが2つ以上...
-
クラスのプロパティに構造体を...
-
3年間同じクラスになる確率
-
自作のクラスファイルがインポ...
-
「エンクロージング型」と「外...
-
CImageクラスをVisualC++6.0で...
-
河合塾のクラス分けについて
-
グローバルIPとプライベートIP...
-
同じクラスにならない確率を教...
-
標準モジュールとクラスモジュ...
-
「天声人語」をインターネット...
-
javaで画像ファイルの入出力方法
-
コンボボックスのマウスホイー...
-
ActionとActionFormの記述
-
IPアドレスのクラスAを取得して...
-
eclipse でクラスに色
-
中学生 発表を面白くするには
-
エクセルVBAでのwitheventsにつ...
-
C# ストップウォッチ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の重複する値とその個数を...
-
「天声人語」をインターネット...
-
java eclipse 型に解決できません
-
グローバルIPとプライベートIP...
-
ポータブル電源を買おうと思う...
-
容姿について
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
UMLのクラス図はmain()も含むん...
-
同一パッケージにあるクラスが...
-
main()を持つクラスが2つ以上...
-
1 つのヘッダファイルに複数の...
-
アルキメデスの大戦の櫂はなぜ2...
-
dllと同じプロジェクトにする方法
-
IPアドレスの3バイト目の呼び方
-
3年間同じクラスになる確率
-
重複エラーを解決するには
-
同じパッケージ、クラス名が含...
-
コンボボックスのマウスホイー...
-
同じクラスにならない確率を教...
おすすめ情報