рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди - рднрд╛рд░реА рдкрджрд╛рд░реНрдереЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо

рдФрд░ рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЬрд╛рджреВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рд╣реИ:


рдЗрд╕реЗ рд▓реЗрдВ:
import groovy.transform.Canonical import groovy.transform.TupleConstructor @Canonical @TupleConstructor class Person { int id String firstName String lastName Date birthdate } 

рд╣рдо рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рдорд┐рд▓рддрд╛ рд╣реИ:
100 рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдирд░реНрдХ рдХреЗ рдЬрд╛рд╡рд╛ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ
 import java.util.Date; import java.util.Map; public class Person { private int id; private String firstName; private String lastName; private Date birthdate; //   @TupleConstructor- public Person(Map parameters){ this.id = (int) parameters.get("id"); this.firstName = (String) parameters.get("firstName"); this.lastName = (String) parameters.get("lastName"); this.birthdate = (Date) parameters.get("birthdate"); } public Person(int id, String firstName, String lastName, Date birthdate) { this.id = id; this.firstName = firstName; this.lastName = lastName; this.birthdate =birthdate; } public Person(int id, String firstName, String lastName) { this(id, firstName, lastName, null); } public Person(int id, String firstName) { this(id, firstName, null, null); } public Person(int id) { this(id, null, null, null); } public Person() { this(0, null, null, null); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Person person = (Person) o; if (id != person.id) return false; if (birthdate != null ? !birthdate.equals(person.birthdate) : person.birthdate != null) return false; if (firstName != null ? !firstName.equals(person.firstName) : person.firstName != null) return false; if (lastName != null ? !lastName.equals(person.lastName) : person.lastName != null) return false; return true; } @Override public int hashCode() { int result = id; result = 31 * result + (firstName != null ? firstName.hashCode() : 0); result = 31 * result + (lastName != null ? lastName.hashCode() : 0); result = 31 * result + (birthdate != null ? birthdate.hashCode() : 0); return result; } @Override public String toString() { return "Person{" + "id=" + id + ", firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + ", birthdate=" + birthdate + '}'; } public int getId() { return this.id; } public void setId(int paramInt) { this.id = paramInt; } public String getFirstName() { return this.firstName; } public void setFirstName(String paramString) { this.firstName = paramString; } public String getLastName() { return this.lastName; } public void setLastName(String paramString) { this.lastName = paramString; } public Date getBirthdate() { return this.birthdate; } public void setBirthdate(Date paramDate) { this.birthdate = paramDate; } } 



рдЦреИрд░, рд╣рд╛рдБ, рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдХреБрдЫ рднреА рдЕрдиреЛрдЦрд╛ рдирд╣реАрдВ рд╣реИ, рд╡рд╣рд╛рдБ рд▓реЛрдореНрдмреЛрдХ , рдХрд┐рд╕реА рднреА рдЕрдЪреНрдЫреЗ рдЖрдИрдбреАрдИ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдЗрд╕ рдкреВрд░реЗ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред

рддреЛ рдЧреНрд░реВрд╡реА, рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреНрдпреЛрдВ?
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЧреНрд░реВрд╡реА рдПрдПрд╕рдЯреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЬрд╛рд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ (рдлрд┐рд░, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ) рдмрддрд╛рдПрдВ рдХрд┐ рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдЧреНрд░реВрд╡реА рдХреЗ рдкрд╛рд╕ рдЖрдЬ рдХреНрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпреЛрдВ, рдФрд░ рдХреЗрд╡рд▓ "рдХреИрд╕реЗ рдФрд░ рдХреНрдпрд╛" рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рд╛рд╣рд╕рдкреВрд░реНрд╡рдХ "рдПрдПрд╕рдЯреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рдЪрдп" рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред

рддреЛ рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдФрд░ рд▓реЛрдореНрдмреЛрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ?


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

рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдЗрдЯрдХреЛрдб рдкреАрдврд╝реА рд╕реНрд░реЛрдд рдХреЛрдб рдкреАрдврд╝реА рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рдлрд╛рдпрджрд╛ рд╣реИ (рдФрд░ рдлрд┐рд░ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ "рдкрддрди" рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢рд╛рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ) - рдкреАрдврд╝реА рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ "рд╕рдорд░реНрдерд┐рдд" рд╣реЛрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ IntelliJ IDEA рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реИрд╢рдХреЛрдб рдФрд░ рдмрд░рд╛рдмрд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирдпрд╛ рдХреНрд╖реЗрддреНрд░ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рдореИрдВ рдЗрди 2 рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдлреВред

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

рдПрдПрд╕рдЯреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп


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

рдЕрдм рд╣рдо рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЕрд░реНрдерд╛рддреН рдХреЛрдб рдореЗрдВ рдПрдХ рдХреЛ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдмрд╛рдпрдЯреЗрдХреЛрдб (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдХ) рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рд╣рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдЧреНрд░реВрд╡реА рдореЗрдВ рд╣реА рд╕рд╣реА, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрдиреЛрдЯреЗрд╢рди рдпрд╛ рдЕрдиреНрдп рдПрдбрд┐рдЯрд┐рд╡реНрд╕ рдХреЗ рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 class Person { String name } 

рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдХреНрд╖реЗрддреНрд░ private (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, name ), рдФрд░ рд╕рднреА рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ (рдареАрдХ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЗрд╡рд▓ getName() рдФрд░ setName(String name) , рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ)ред

рдпрд╣ рд╕реБрдВрджрд░ рдЫреЛрдЯреА рд╕реА рдмрд╛рдд рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдореЗрдЯреНрд░реЛрдкреЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред

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

рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рдЧреНрд░реВрд╡реА рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдордХреНрдЦреА рдкрд░ рдПрдХ рд╕рд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░реА рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рдПрдПрд╕рдЯреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╛рдХреА рдХреЗрд╡рд▓ рдорд╛рдВрдЧ рдкрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ:

рдФрд░ рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ! @CompileStatic рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдЯреНрдЯрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг @CompileStatic , @Field , рдФрд░ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣, рдлрд┐рд░ рднреА, рдПрдХ рдФрд░ рд╕рдордп рд╣реИ (рдареАрдХ рд╣реИ, рдпрд╛, рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреНрд░рдмреБрджреНрдз рдкреАрдЖрд░ рдХреЗ рдмрд┐рдВрджреБ 1 рджреЗрдЦреЗрдВ)ред

PS рдЕрдм рдЬрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рддреЛ рдирдП рдПрдПрд╕рдЯреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рджреЛ рджрд┐рд▓рдЪрд╕реНрдк рд╣рдмреНрд░-рд▓реЗрдЦ рд╣реИрдВред рдиреАрдЪреЗ рджреЗрдЦреЗрдВ, рдвреАрда рдкреАрдЖрд░ рдХреЗ рдкреИрд░рд╛ 2 рдореЗрдВред

рдФрд░ рдЕрдм 2 рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдвреАрда рдкреАрдЖрд░:
  1. рдЬрд┐рдиреНрд╣реЗрдВ рдЧреНрд░реВрд╡ рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдПрдХ рдЙрдиреНрдирдд рдкрд░реНрдпрд╛рдкреНрдд рдмрд┐рдВрджреБ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореЗрд░реА рдЯреНрд░реЗрдирд┐рдВрдЧ рдкрд░ рдЬрд╛рдПрдВ, 17 рдЕрдкреНрд░реИрд▓ рдХреЛ рдорд╛рд╕реНрдХреЛ рдореЗрдВ рдФрд░ 15 рдЕрдкреНрд░реИрд▓ рдХреЛ рдХрдЬрд╝рд╛рди рдореЗрдВ (рджрд╕реНрддрдХ рдПрд▓реЗрдХреНрд╕рд╛ )
  2. рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╕рд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░реА рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ рдФрд░ рдмреЙрдпрд▓рд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдХреЙрдХрд░реЛрдЪ рд╕реЗ рд▓рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, 18 рдЕрдкреНрд░реИрд▓ рдХреЛ рдЬреЗрдкреЛрдЯ рдкрд░ рдореЗрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ 16 рдЕрдкреНрд░реИрд▓ рдХреЛ рдЬрд╛рд╡рд╛рдбреЗ рдХрдЬрд╝рд╛рди (рдлрд┐рд░ рд╕реЗ рдПрд▓реЗрдХреНрд╕рдмреЗрд▓ рджрд╕реНрддрдХ рджреЗрдВ )

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


All Articles