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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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