Pereiti prie turinio

Klausimai apie JAVA


Rekomenduojami pranešimai

Gal kas patars del single responsability principo tokiame kode. Cia formuojamas path is user inputu. Kaip ir klase atlieka tai kas yra pavadinime, bet kiek skaiciau, klases kodas turi tilpti i ekrana, kitaip pazeidziamas SRP. Ka daryti su tokia klase, kaip ja perdaryti pagal SRP. Cia naudojami enum vietoje konstantu:

 

public class PathBuilder {

  public String getPath() {
       Messages.printMessage("\nEnter search keyword or phrase.");
       return String.format("%s%s%s%s", UrlPart.PATH_BEGINNING.getName(), UserInput.getSearchTerm(), UrlPart.SLUG_IMAGE_TYPE.getName(), getSlugWithSelectedFeatures());
   }

   private String getPhotoOrientationValue() {
       Messages.printMessage("Select photo orientation: [1] horizontal, [2] vertical. \nEnter number or press 0 to continue without selection:");
       int number = UserInput.getNumberInput();
       switch (number) {
           case 1:
               return UrlPart.SLUG_PHOTO_ORIENTATION.getName() + "horizontal";
           case 2:
               return UrlPart.SLUG_PHOTO_ORIENTATION.getName() + "vertical";
           default:
               return "";
       }
   }

   private String getColorValue() {
       Messages.printMessage("Select photo color: [1] black/white, [2] green, [3] blue. \nEnter number or press 0 to continue without selection:");
       int number = UserInput.getNumberInput();
       switch (number) {
           case 1:
               return UrlPart.SLUG_COLOR_SELECTION.getName() + "bw";
           case 2:
               return UrlPart.SLUG_COLOR_SELECTION.getName() + "green";
           case 3:
               return UrlPart.SLUG_COLOR_SELECTION.getName() + "blue";
           default:
               return "";
       }
   }

   private String getOderValue() {
       Messages.printMessage("Select photo order: [1] newest or press 0 to continue without selection:");
       int number = UserInput.getNumberInput();
       if (number == 1) {
           return UrlPart.SLUG_ORDER_BY.getName();
       }
       return "";
   }

   private String getSlugWithSelectedFeatures() {
       String color = getColorValue();
       String orientation = getPhotoOrientationValue();
       String order = getOderValue();
       if (!(color.equals("")) && !(orientation.equals("")) && !(order.equals(""))) {
           return UrlPart.AND_SIGN.getName() + color + UrlPart.AND_SIGN.getName() + orientation + "&" + order;
       } else if (!(color.equals("")) && !(orientation.equals(""))) {
           return UrlPart.AND_SIGN.getName() + color + UrlPart.AND_SIGN.getName() + orientation;
       } else if (!(orientation.equals("")) && !(order.equals(""))) {
           return UrlPart.AND_SIGN.getName() + orientation + UrlPart.AND_SIGN.getName() + order;
       } else if (!(color.equals("")) && !(order.equals(""))) {
           return UrlPart.AND_SIGN.name() + color + UrlPart.AND_SIGN.getName() + order;
       } else if (!(color.equals(""))) {
           return UrlPart.AND_SIGN.getName() + color;
       } else if (!(order.equals(""))) {
           return UrlPart.AND_SIGN.getName() + order;
       } else if (!(orientation.equals(""))) {
           return UrlPart.AND_SIGN.getName() + orientation;
       }
       return "";
   }
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...