閲覧ありがとうございます。
プログラムを書いていると、以下の例の★のように
1クラスの1メソッドを極力少なくするために「他のクラスに書かれている処理に遷移するためのメソッド」を作ることがあります。
(以下の例はロジックを書くクラスです。コントローラーにtrue,falseを渡して画面遷移の判断材料にしています)
例 public boolean posting(String text, String address, String penName, Part file) { if (function.checkNull(text) && function.checkNull(file)) { function.addErrorMessage("文章または画像を入力してください。"); return false; } if (function.checkNull(file)) { //文章のみの登録 transitDao(text, address, penName, "noImage.jpg"); return true; } if (checkFile(file)) { //画像のみor文章・画像の登録 String fileName = uploadFolder(file); transitDao(text, address, penName, fileName); return true; } function.addErrorMessage("画像はJPG形式の画像のみ使用できます。"); return false; } ....... ★ /** * functionクラスにある「プロジェクト下にある画像フォルダに画像を登録するメソッド」に遷移します。 * @param file 投稿した画像 * @return 画像名 */ private String uploadFolder(Part file) { String fileName = function.getFileName(file); function.uploadFolder(file, fileName); return fileName; }
現在この「他のクラスに書かれている処理に遷移するためのメソッド」に違和感を感じているのですが、皆様はこのようなメソッドを作成しているのでしょうか。回答よろしくお願いします。
、、、
回答をいただいてソースを少しだけ修正しました。
遷移するためのメソッドを消して直接その遷移先に遷移するように修正しました(☆の部分です)。ありがとうございます。
public boolean posting(String text, String address, String penName, Part file) { if (function.checkNull(text) && function.checkNull(file)) { function.addErrorMessage("文章または画像を入力してください。"); return false; } if (function.checkNull(file)) { //文章のみの登録 dao.posting(text, address, penName, "noImage.jpg"); return true; } if (function.checkJPG(file)) { //画像のみor文章・画像の登録 ☆String fileName = function.getFileName(file); ☆function.uploadFolder(file, fileName); dao.posting(text, address, penName, fileName); return true; } function.addErrorMessage("画像はJPG形式の画像のみ使用できます。"); return false; }
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。