рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдиреБрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдкрддрд╛ рд╕реНрд╡рд┐рдЪ (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдирд╛

рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдлреНрд▓реЗрдХреНрд╕ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЗрд░реЗ рдЕрдЪреНрдЫреЗ рд╕рд╣рдпреЛрдЧреА рдХреЛ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд╣рд╛рдВ рдПрдХреНрд╕рдЯреЗрдб рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдордп-рд╕рдордп рдкрд░ рдореБрдЭреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдереЗ: "рдЬрд╛рд╡рд╛ рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ?" рдФрд░ "рдпрд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?"ред рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬрд┐рд╕ рдкрд░ рдореЗрд░рд╛ рд╕рд╣рдХрд░реНрдореА рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЖрджреА рдерд╛, рдЬрд╛рд╡рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдерд╛ рдФрд░ рдХрдореА рдФрд░ рдЪрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде рдЬреНрдпрд╛рджрд╛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдиреЗ рдкрд░ рдЙрд╕рдХрд╛ рдЖрд╢реНрдЪрд░реНрдп рдХреНрдпрд╛ рдерд╛ред рдпрджреНрдпрдкрд┐, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдРрд╕реА рдХрдИ рддрдХрдиреАрдХреА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рдЬрдм рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕реНрд╡рд┐рдЪ рдХрд╛рдо рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдкрд╛рд╕рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЪрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛)ред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрд╛рд╡рд╛ 7 рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЬрд╛рд╡рд╛ 7 рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рддреБрд░рдВрдд рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдореИрдВ рдЦрд╝реБрд╢реА рд╕реЗ рдЕрдкрдиреЗ "рд╕реМрдВрджрд░реНрдпрд╡рд╛рджреА" рддрд░реАрдХреЗ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЕрдЧрд░ рднрд╛рд░реА рдбрд┐рдЬрд╛рдЗрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред .then..elseред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрд░ рд╣реИ рдЬреЛ рдорд╛рдиреЛрдВ рдХреЛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ "RequestOne", "RequestTwo", "RequestThree" рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдХрд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ:

public void processRequest(String type) { if (type.equals("RequestOne")) { scenarioOne(); } else if (type.equals("RequestTwo")) { scenarioTwo(); } else if (type.equals("RequestThree")) { scenarioThree(); } } 


рдХреЛрдб рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдкреНрд░рдХрд╛рд░ рд▓рдВрдмреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ рдпрд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рдорд╛рдиреЛрдВ рдХреЗ рдХрдИ рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдПрдиреБрдорд░реЗрдЯреЗрдб рдкреНрд░рдХрд╛рд░ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ: рдПрдирдоред рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЕрдиреБрд░реЛрдзрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ:

 public enum RequestType { SCENARIO_ONE("RequestOne"), SCENARIO_TWO("RequestTwo"), SCENARIO_THREE("RequestThree"); private String typeValue; private RequestType(String type) { typeValue = type; } static public RequestType getType(String pType) { for (RequestType type: RequestType.values()) { if (type.getTypeValue().equals(pType)) { return type; } } throw new RuntimeException("unknown type"); } public String getTypeValue() { return typeValue; } } 


рдФрд░ рдлрд┐рд░ processRequest (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рд╡рд┐рдзрд┐ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:

 public void processRequest(String type) { RequestType request = RequestType.getType(type); switch(request) { case SCENARIO_ONE: scenarioOne(); break; case SCENARIO_TWO: scenarioTwo(); break; case SCENARIO_THREE: scenarioThree(); break; } } 


рдмреЗрд╢рдХ, рдПрдиреБрдорд░реЗрдЯреЗрдб рдЯрд╛рдЗрдк рдЯрд╛рдЗрдк рдореЗрдВ рд╕реНрдерд┐рд░ рдЧреЗрдЯ рдЯрд╛рдЗрдк рд╡рд┐рдзрд┐ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╣ рд╕рдВрднрд╡ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрдорд╛рдг рд╕рдВрдХреНрд╖рд┐рдкреНрдд рджрд┐рдЦрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдкреБрд░рд╛рдиреЗ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рддреЗрдЬреА рд╕реЗ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдХреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╢реНрд░рдо рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред

рдЕрдВрддрддрдГ, рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдиреНрдпреВрдорд░реЗрдЯреЗрдб рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред

Source: https://habr.com/ru/post/In128390/


All Articles