
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рддрд╣рдЦрд╛рдиреЗ рдореЗрдВ рдПрдХ рдЫрд┐рджреНрд░рдг рдмреИрдЧ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛, рдЙрд╕ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдмрдВрдзрдХ рдХреА рдПрдХ рд╕реНрдЯреЙрдХ рдлреЛрдЯреЛ рдЪрд┐рдкрдХрд╛ рджреА рдФрд░ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреЛ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрджрд░ рд╕реНрдкреАрдХрд░ рднрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдЧреБрд╕реНрд╕рд╛ рдЖ рдЧрдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд╛рд╢рдкрд╛рддреА рдХрд╣рддреА рд╣реИ: тАЬрд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдЖрдкрдХреЗ рд╕рд╣реА рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЙрд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓рд╛рдн рд▓рд╛рдЧрдд рдХреЛ рдХрд╡рд░ рдХрд░реЗред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреЛрд╡рдиреЛрдХреЙрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЧреЛрд╡рдиреЛрдХреЙрдб рд╣реЛрдЧрд╛ред " рдФрд░ рдореИрдВ рд▓рдВрдб рдЦрдбрд╝рд╛ рдХрд░рдиреЗ рд▓рдЧрд╛ рд╣реВрдБред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдирд╛рд╢рдкрд╛рддреА рдореЗрдВ рдПрдХ рдиреЛрдЯ рдЬреЛрдбрд╝рд╛: "рдкреНрд░рдХрд╛рд░ рдХрдард┐рди рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИрдВред" рдЗрд╕ рдХреНрд╖рдг, рдореИрдВрдиреЗ рдЗрддрдиреА рдореЗрд╣рдирдд рдХреА рдХрд┐ рдореЗрд░рд╛ рд╣рд╛рде рд▓рдЧрднрдЧ рдЯреВрдЯ рдЧрдпрд╛ред рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд░рд┐рдпрд░ рдХреЗ рд╕рдмрд╕реЗ рдЕрд╣рдореН рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред
рдореЗрд░реЗ рджреЛрд╕реНрдд рдЕрдВрддреЛрдЦрд╛ рдиреЗ рдореБрдЭреЗ рдПрдХ рдмрдбрд╝реЗ, рдмрдбрд╝реЗ рдирд┐рдЧрдо рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдореИрдВ рд╕рд╣рдордд рдерд╛, рдФрд░ рд╣рдо рдХреЙрд░рдкреЛрд░реЗрдЯ рдЧреИрд░рдмрд░рд╛рдмрд░реА, рдХреБрд░рдХреБрд░реЗ, рдЙрди рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдпреБрджреНрдз рдореЗрдВ рдбреВрдм рдЧрдП, рдЬреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрддреЗ рдереЗ рдФрд░ рд╕рднреА рддрд░рд╣ рдХреЗ рдЕрдиреНрдпрд╛рдпред рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдРрд╕рд╛ рдХрдЪрд░рд╛ рдХрднреА рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рди рд╣реЛред
1
- ( рдЕрдВрддреЛрдХреНрд╖ рд░реИрдиреНрдХреЗрдбреВ ) рдореБрдЭреЗ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЯреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ - рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдФрд░ рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХрд╕рдорд╛рди рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпред рдпрд╣реА рд╣реИ, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрдкрдХрд░рдг рдЬреЛ рд╕реНрд░реЛрдд рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рддрдХ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред
рдЗрд╕ рддрд░рд╣, рд╕реНрд╡рд░реВрдкрдг, рд░реВрдкрд╛рдВрддрд░рдг, рдЧрдгрдирд╛ рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ред рд╡рд┐рд╢рд╛рд▓ рд╕рдВрд░рдЪрдирд╛рдПрдВ, рдЬрдЯрд┐рд▓ рдкрджрд╛рдиреБрдХреНрд░рдо, рд╣рд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рд╣рд░ рдЪреАрдЬ рдХреЗ рдХрдИ рдХрдиреЗрдХреНрд╢рдиред рдРрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдпрд╣ рдЦреЛ рдЬрд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЖрдк рдбреЗрдЯрд╛ рдХреЗ рдЯреБрдХрдбрд╝реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдПрдВред рдпрд╣ рдмрд╣реБрдд рдирд╢реАрд▓рд╛ рд╣реИред рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд░реНрдгрди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рдХрдИ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг, рд░рдирдЯрд╛рдЗрдо рдФрд░ рд╕рдВрдХрд▓рди рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд╡рд╛рд╕ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рднреА рд╣реЛрдЧрд╛ред рдЯреЗрд╕реНрдЯ рд╡рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ - рдкреНрд░рдХрд╛рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╕рд╕реНрддреЗ рд╣реИрдВред
рдЬрдм рдЖрдк рдПрдХ рдореЛрд░реНрдЪрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рджреЛ рд╕реНрд░реЛрдд рд╣реЛрддреЗ рд╣реИрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдмреИрдХрдПрдВрдбред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ I / O (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдХреЛрдгреАрдп, рд╕реНрд╡рд░ рдФрд░ рдЕрдиреНрдп) рд╕реЗ рдЕрдореВрд░реНрдд рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдПрдВ рд╣реИрдВред
рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдореЗрдВ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИред рдЗрд╕рдХреА рдкреНрд░рдЬрд╛рддрд┐рдпрд╛рдВ рдХрдИ рд╣реИрдВ, рдФрд░ рдЕрд╣рд╕рд╛рд╕ рдЕрдВрдзреЗрд░реЗ рд╣реИрдВред рдЖрдк рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, "рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг" рдЬреИрд╕реА рдмреИрд╕рд╛рдЦреА рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдм рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдХрдареЛрд░ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдШрдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдкрд╡рд╛рдж рдпрд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд▓рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЧрддрд┐ рдФрд░ рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд▓реЗрдЦрди, рдпреВрдПрдордПрд▓ рдЖрд░реЗрдЦ, рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рднрд╛рдЧреЛрдВ рдХреА рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддреБрджреЛрд╖ рдХреА рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЧрдИ рдХреНрдпреЛрдВрдХрд┐ рджреГрд╢реНрдпрдкрдЯрд▓ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдПрдХ рдкреВрд░реНрдг рд╡реНрдпрд╡рд╕рд╛рдп рдмрди рдЧрдпрд╛, рди рдХрд┐ рдмреИрдХрдПрдВрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд▓реЗрдЖрдЙрдЯред рдкрд╣рд▓реЗ, рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдерд╛ред рдЕрдм рдореЛрд░реНрдЪреЛрдВ рдФрд░ рдкреАрдареЛрдВ рдХреЛ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдФрд░ рдмрд╛рд░реАрдХреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдЙрдкрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдбреЗрдЯрд╛ рд╕рддреНрдп рдХреА рд╣рд╛рдирд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрдЧреЗ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░реЗ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- (рдлрд┐рд▓) рдпрджрд┐ рдЖрдк рдмреИрдХ-рдПрдВрдб рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рдпрд╕реНрдХ рд╕рдорд╛рдзрд╛рди рдФрд░ рдбреЗрдЯрд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдЕрднреНрдпрд╛рд╕ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C # рдореЗрдВ рдЖрдк рдПрдХ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рд╡рд░реНрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддреЗ рд╣реИрдВред рдЖрдк рдХреБрдЫ рд▓реЗрддреЗ рд╣реИрдВ, рдХреБрдЫ EntityFramework, рдпрд╣ рдЖрдкрдХреЛ рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЖрдк рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдХреЛрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рд▓реАрдм рдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдзрд╛рд░ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛ рдЬрд╛рдПред рдлрд┐рд░ рдЖрдк рдЗрд╕ рдбреЗрдЯрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдЪреАрдЬ рдХреЛ ORM рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд╛рдордиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ рдпрд╣ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ - рд╣рдо рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рд╕рдм рдХреБрдЫ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЕрднреА рднреА рдПрдХ рдирд┐рд░реНрдгрдп рдкрд░ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред
- (рдПрдВрдЯреЛрд╣рд╛) рдЬреЛ рдХреБрдЫ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛ рдЙрд╕рдореЗрдВ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдереА - рд╕рдВрдХреАрд░реНрдг рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ред рд╣рд░ рдмрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╣рд░ рдмрд╛рд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рддреЗрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рдм рдЙрдкрдпреБрдХреНрдд рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдПрдкреАрдЖрдИ рдФрд░ рдбреЛрдореЗрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╣реЛрдВрдЧреЗ, рдЗрд╕рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рд╣реЛрдЧрд╛, рдпрд╣ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд░реВрдк рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдУрдВ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдШрд┐рд░рд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рд░рд▓реАрдХрд░рдг рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдЪреНрдЫреЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдХрд░рдг рдХреЛ рдХрд┐рд╕реА рднреА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдкреВрд░реА рддрд╕реНрд╡реАрд░ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред
- (рдлрд┐рд▓) рд╣рдореЗрдВ рдПрдХ рдкрд░рд┐рд╡рд╛рдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛, рдЗрд╕ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, REST API рдФрд░ json-rpc рд╕реЗ graphQL рдФрд░ NQL рддрдХред рдЬреЛ рдмрдврд╝рддреЗ рдХреЛрдб рдЖрдзрд╛рд░ рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдЦреНрддреА рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдФрд░ рд╕рд╣рдЬред рдХрд┐рд╕реА рднреА рд╕рдордп рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рдкреВрд░реНрдг рдФрд░ рд╕рдЯреАрдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ред рд╣рдо рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдбреЗрдЯрд╛ рд▓реЗрдпрд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдореВрд░реНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдореМрдЬреВрджрд╛ рдПрдХ рдХреЛ рджреЗрдЦрд╛ред рд╣рдореЗрдВ рдХреБрдЫ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдпрд╛ рддреЛ js рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рднреА рд╕рдореВрд╣ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рдеред рдпреЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЛ рдмрд┐рдЧрд╛рдбрд╝ рджреЗрддреЗ рд╣реИрдВред рд╡реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдЖрдВрдЦреЗрдВ рдореВрдВрдж рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЖрдкрдХреЛ рдЬреНрдпрд╛рджрд╛ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдЖрдк рдЙрдирдХреЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдЪреАрдЬреЗрдВ рддрдм рдФрд░ рднреА рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдЬрдм рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдпрд╣ рд╡рд┐рд╖рдо рд╣реЛрддрд╛ рд╣реИред
рдЗрди рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╡реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдПред
рдЗрд╕рд▓рд┐рдП, рд╕рдВрдХреАрд░реНрдг рд╕реЛрдЪ рд╡рд╛рд▓реЗ рдХрд╛рдо рдХреЗ рдмрдЬрд╛рдп, рдЬрд┐рд╕ рдкрд░ рдХрд╛рд░реНрдп рдЦрдбрд╝рд╛ рдерд╛, рд╣рдордиреЗ рдПрдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕рд╛рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдФрд░ рд╣рдо рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рд░ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рдмрдирддреА рд╣реИрдВред
2
- (рдПрдВрдЯреЛрд╣рд╛) рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдкрд╣реБрдВрдЪ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рддрд╛рдХрд┐ рдореБрдЭреЗ рдХрдВрдкрдиреА рдХреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рдЬрд╛рдиреЗ рджрд┐рдпрд╛ рдЬрд╛рдПред рдФрд░ рдпрд╣ рдХрдИ рд╣рдлреНрддреЛрдВ рддрдХ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд▓рд┐рдпрд╛ред рдЗрд╕ рд╕рдордп, рд╕рдорд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВрдиреЗ рдХрд╛рд░реНрдп рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░ рджрд┐рдпрд╛, рд╕рдордпрд░реЗрдЦрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ред
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ, рд╣рд░ рдХрд┐рд╕реА рдХреА рддрд░рд╣, рдореИрдВрдиреЗ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрдгрдп рд▓рд┐рдПред рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВред рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдмреЗрд╣рдж рдЬрдЯрд┐рд▓ рдирд┐рдХрд▓рд╛, рдФрд░ рди рд╣реА рдореБрдЭреЗ рдФрд░ рди рд╣реА рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдерд╛ред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдореЗрд░реЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдерд╛ред
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬреИрд╕рд╛ рд╕рд╣реА рд╕рдордЭрд╛, рд╡реИрд╕рд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдбреЗрд▓реА рдореЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдмрддрд╛рдпрд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреЛрдИ рднреА рдореБрдЭреЗ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЯреАрдо рдХреЗ рдореЗрд░реЗ рд╕рд╡рд╛рд▓ рд╣рдореЗрд╢рд╛ рдЕрдиреБрддреНрддрд░рд┐рдд рд░рд╣реЗ рд╣реИрдВред рдорд╛рдиреЛ рдореЗрд░рд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рд╣реА рдирд╣реАрдВ рдерд╛ред рджреЛрд╕реНрдд рдЬреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдФрд░ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ javaScript рдпрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдкреАрдПрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЙрддреНрдХреГрд╖реНрдЯ рдмрд╛рддрдЪреАрдд, рдПрдХ рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рдФрд░ рдПрдХ рдЧрдВрднреАрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ред
- (рдлрд┐рд▓) рдореИрдВ рдЯрд╛рдЗрдкреЛ рдХреЗ рдЖрдХрд░реНрд╖рдг рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреЛрд╣рд╛ рдХрд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
- (рдПрдВрдЯреЛрд╣рд╛) рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкрд╛рдЧрд▓ рдХрд░ рджреЗрддреА рд╣реИрдВред рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмреАрдЪ рдХреЛрдИ рдкрд░рд┐рдкреВрд░реНрдг рдкрддреНрд░рд╛рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рдЬрдЯрд┐рд▓ рд▓рдЧрддреА рд╣реИред рдЙрд╕реЗ рд╕рд╣рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЖрдк рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдпрд╛ рдХрд┐рд╕реА рдХреЛ рд▓реЗрдирд╛ рдФрд░ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдзреАрд░реЗ-рдзреАрд░реЗ рдЖрдк рднрд╛рд╖рд╛ рдореЗрдВ, рдЙрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рд╣реЛрдиреЗ рд▓рдЧрддреА рд╣реИред рдпрд╣ рдЬрд╛рджреБрдИ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- (рдлрд┐рд▓) рд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░, рд╣рдо рдПрдХ рд╕рд╛рде рдЖрдП рдФрд░ рдХреБрдЫ рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рдкрд╣рд▓рд╛ рдЪрд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рд╣рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
type CustomerSchema = {
id: number;
name: string;
}
const Customer = new Model<CustomerSchema>(тАШCustomerтАЩ);
, , . id, , , .
, . , , -. , , .
, . тАФ - , . , , . : , , . . :
/**
name: String
String - js -: StringConstructor
*/
const customerSchema = Schema.create({
id: Number,
name: String,
});
. , , . , Number String . : , . :
const customerSchema = Schema.create({
id: 1,
name: 2,
});
. `Schema.create` , . `if (!(property instanceof String)) throw new Error(┬л , ┬╗)`. .
-, , -, . , .
, , .
. , Schema.create.
:
//
type Map<T> = {
[key: string]: T | Map<T>;
};
/**
,
,
.
*/
type NumberType = Template<NumberConstructor, number, 'number'>;
type StringType = Template<StringConstructor, string, 'string'>;
type SymbolType = Template<SymbolConstructor, symbol, 'symbol'>;
type BooleanType = Template<BooleanConstructor, boolean, 'boolean'>;
type DateType = Template<DateConstructor, Date, 'date'>;
interface ArrayType extends Array<ExtractTypeValues<Types>> {};
type Types = {
Number: NumberType;
String: StringType;
Symbol: SymbolType;
Boolean: BooleanType;
Date: DateType;
Array: ArrayType;
};
//
type MapTypes= Map<ApplyTemplate<Types>>;
// -
type Declaration = ExtractInputTypes<MapTypes>;
interface Schema<...> {
// , .
create: <T extends Declaration>(
declaration: ConvertInstanceTypesToConstructorTypes<T>
) => Schema<T>;
};
, . , , , , .
,type CustomerSchema = {
id: number;
name: string;
};
const customerSchema: CustomerSchema = Schema.create({
id: Number,
name: String,
});
. , , .
. any. тАФ any, 100%, , .
, , , . . `Schema.create` . 99% , . , . тАФ ! , .
. , , , . . :
const customerSchema = Schema.create({
id: Number,
name: String,
});
// vscode : id, name
Schema.raw(customerSchema).
//
// .
Schema.raw(customerSchema).id;
// .
Schema.raw(customerSchema).neId;
. :
const customerSchema = Schema.create({
id: Number,
name: String,
});
if (true) {
customerSchema.add({gender: String});
}
// ,
// gender.
// ,
// .
Schema.raw(customerSchema).
, , , . gender, , (, , this !). - . , , .
, . , , . , . .
:
const customerSchema = Schema.create({
id: Number,
name: String,
});
// customerSchema.add({gender: String});
// , .
// :
const customerWithGenderSchema = customerSchema.add({gender: String});
// .
// :
Schema.raw(customerWithGenderSchema).
// id, name, gender
//
Schema.raw(customerSchema).
// id, name
, , . , .
:
const customerSchema = Schema.create({
id: Number,
name: String,
});
const repository = RepositoryManager.create(openApiDriver, {
// config
});
const Customer = Model.create(repository, customerSchema);
Customer.getAll().first().
// ide , id, name gender.
// ,
Customer.getAll().first().age;
// . , ,
// .
getAll .
:
type MapSchemaToDriver<S extends Schema, D extends Driver> =
InferSchemaDeclaration<S> extends SchemaDeclaration
? InferDriverMethods<D> extends DriverTemplate<IMRReader, IMRWriter>
? Repository<InferSchemaDeclaration<S>, InferDriverMethods<D>>
: never
: never;
interface Repository<D extends Driver, S extends Schema> {
get: <T extends DSLTerm>(dsl: ParseDSLTerm<T>) => MapSchemaToDriver<S, D> extends RepositoryTemplate ? ApplyDSLTerm<MapSchemaToDriver<S, D>, T> : Error<тАЩtypeтАЩ, тАШType errorтАЩ>;
}
, :
┬л, B, A, , , , A. . - ┬╗.
. .
┬л┬╗ , , . , .
. , . :
┬л , *--.*, . , id . - , , ┬╗.
.
2.5
, , , . .
, тАФ , , , . . , , .
, . , , , , . , , .
ODM ORM тАФ IMR (Isomorphic Model Representation)
, , API . , . , select-where , .
тАФ , , .
. . . , , , . , , , , .
, тАФ , тАФ , - .
.
3
тАФ () , , . , , , . . , , , .
- , , ┬л ┬╗. , . , тАФ . , , ,
, .
. , , . , , , . . . , . , , , , .
тАФ () , , . . , , , .
, , . . , .
тАФ () , . , , . . , . - , , , , .
, - . , . , .
, , . , . .
4
тАФ () , тАФ . ! ?! , , , , , ODM/ORM - , . , . , , ┬л- , ┬╗.
, , . . , , . .
, , - , . тАФ , .
, . -:
/*
.
тАФ .
.
*/
import { View } from '@view';
import { Logger } from '@utils';
// тАФ , .
// .
import { Robot } from '@domain/models';
// ,
//
function foo() {
Robot.fetch({
location: {
area: 2,
free: true,
key: 'f49a6712', // - compile-time checked
}
})
.then(View.Grid.display)
.catch(Logger.error);
}
, . , тАФ js/ts . , . - - , , , тАФ Result .
. - Logger.Error, .
/*
:
,
- .
-
.
:
*/
import { Schema, Model } from 'imr';
import { Logger } from '@utils';
import { View } from '@view';
import { robotSchema } from '@domain/schemas';
import { batteryStationService } from '@domain/infrastructure/services/batteryStation';
import { Robot } from '@domain/models';
import { batteryNode } from '../services/nodeNames';
//
// , , ,
// , ┬л┬╗
const robotSchemaWithBattery =
robotSchema
.add('battery', Schema.union('li-ion', 'silicon'))
.remove('speed');
// ,
// :
function foo(nodeName) {
// -: -,
if (nodeName === batteryNode) {
// ,
const CustomerRobot = Model.create(robotSchemaWithBattery, batteryStationService);
CustomerRobot
// .
// , , 'li-notIon'
.fetch({ filter: { battery: 'li-ion' } })
// .
// , , , .
// , ,
// , .
.then(View.Grid.display)
.catch(Logger.error)
} else {
Robot
.fetch()
.then(View.Grid.display)
.catch(Logger.error)
}
}
5
тАФ () , , , - , . , - , , .
.
, , тАФ . . , тАФ , , . . , , тАФ , .
, : . . .
тАФ . , .
: rcanedu, arttom