рдПрдХреНрд╕рдЯ рдЬреЗрдПрд╕ 5: рдПрдорд╡реАрд╕реА, рдПрдорд╡реАрд╡реАрдПрдо, рдЖрджрд┐ред

Sencha Ext JS JS рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рдЬреЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдбреЗрдЯрд╛ рд╕рдкреЛрд░реНрдЯ рдФрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ рдХрд╛ рдПрдХ рд╕рдореГрджреНрдз рд╕рдореВрд╣ рдмрди рдЧрдпрд╛ рд╣реИред 2007 рдореЗрдВ рдПрдХреНрд╕рдЯ рдЬреЗрдПрд╕ 1.0 рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рдмрд╛рдж рд╕реЗ, рд╣рдорд╛рд░реЗ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдмрдбрд╝реЗ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдП рд╣реИрдВред



2010 рдореЗрдВ, рд╕реНрдиреЗрдЪрд╛ рдиреЗ рдЯрдЪ 1.0 рдЬрд╛рд░реА рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЙрджреНрдпреЛрдЧ рдХреЛ рдмрдбрд╝реЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдордирд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╛рд╕реНрддреБ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдПрдорд╡реАрд╕реА-рд╕рдХреНрд╖рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдврд╛рдВрдЪрд╛ рдорд┐рд▓рд╛ред рд╣рдордиреЗ рддрдм 2011 рдореЗрдВ рдПрдХреНрд╕рдЯ рдЬреЗрдПрд╕ 4.0 рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд┐рдпрд╛, рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдирдИ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред



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





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



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



MVC рдХреНрдпрд╛ рд╣реИ?



рдореЙрдбрд▓-рд╡реНрдпреВ-рдХрдВрдЯреНрд░реЛрд▓рд░ ( MVC ) рдПрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреИрдЯрд░реНрди рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ ( рдПрдХреНрд╕рдЯреА рдЬреЗрдПрд╕ - рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реБрдПред ) рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ, рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд╛рд░реНрдХрд┐рдХ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред







рдПрдорд╡реАрд╕реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореВрд▓ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:







рдПрдорд╡реАрд╕реА: рдЙрджрд╛рд╣рд░рдг



рдЖрдЗрдП Sencha Fiddle рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ :







рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг MVC рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд╛рд╕реНрдЯрд░ / рдбрд┐рдЯреЗрд▓ рд╕реНрдХреАрдо рд╢рд╛рдорд┐рд▓ рд╣реИред рдореБрдЦреНрдп (рдорд╛рд╕реНрдЯрд░) рджреГрд╢реНрдп (Ext.grid.Panel) рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдЪрдпрдирд┐рдд рд╣реЛрдиреЗ рдкрд░, рд╕рдВрдмрдВрдзрд┐рдд рдЕрдзреАрдирд╕реНрде (рд╡рд┐рд╡рд░рдг) рджреГрд╢реНрдп (Ext.form.Panel) рднрд░реЗрдВред "рд╕рд╣реЗрдЬреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ (рд╕рдмрд╡реНрдпреВ рдореЗрдВ) рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред



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



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



MVVM рдХреНрдпрд╛ рд╣реИ?



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







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



MVVM рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:





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



MVVM: рдЙрджрд╛рд╣рд░рдг



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



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



MVVM рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ?



рдореЙрдбрд▓-рд╡реНрдпреВ-рд╡реНрдпреВрдореЙрдбрд▓ рдирд╛рдо рдХреЗ рдмрд╛рд╡рдЬреВрдж, MVVM рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЖрдк рдЕрднреА рднреА рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рдЗрд╕реЗ MVC + VM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╣ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рддреЛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ Ext JS 5 рдЖрдкрдХреЛ MVC рдФрд░ MVVM рдХреЗ рдмреАрдЪ рдЪрдпрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ( рдпрд╣рд╛рдБ рдПрдХ рдорд┐рд╢реНрд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ)ред



Ext JS 4 рдиреЗ MVC рдХреЛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрде рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛, рдФрд░ Ext JS 5 рднреА рдЗрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХреНрд╕рдЯ рдЬреЗрдПрд╕ 5 рднреА ViewController рдирд╛рдордХ рдПрдХ рдирдП рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред



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



ViewControllers ExtJS 4 рдХреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ (рд╡реИрд╢реНрд╡рд┐рдХ) MVC рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡реЗ рдШрдЯрдирд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рддрд░реНрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, ViewControllers рдФрд░ Regular Controllers рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ ViewControllers рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдмрдВрдзрд┐рдд View рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм Controllers рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдХрдИ View рдХреА рдШрдЯрдирд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред







ViewControllers рдФрд░ ViewModels рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ ViewModel рдФрд░ ViewController рдХреЗ рдЕрджреНрд╡рд┐рддреАрдп рдЙрджрд╛рд╣рд░рдг рд╡реНрдпреВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рджреГрд╢реНрдп рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ ViewModel рдФрд░ ViewController рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред



рдПрдХ рдУрд░, рдпрд╣ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИред рдПрдХ рдЖрд╡реЗрджрди (рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ) рд╕реНрдореГрддрд┐ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХреЛ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реБрдирддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рдмрд╛рдж рдХрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рд╕реНрдореГрддрд┐ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдлреИрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рд╡реНрдпреВрдореЙрдбрд▓ рдФрд░ рд╡реНрдпреВрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред



рдЖрдЦрд┐рд░реА рдмрд╛рдд рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реИ рдХрд┐ MVVM рдореЗрдВ рд╕рднреА рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП ViewController рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред



рдирд┐рд╖реНрдХрд░реНрд╖



Ext JS 4 рдиреЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП MVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдПрдХ рд╕реНрдерд┐рд░ рдХреЛрдб рд╕рдВрдЧрдарди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рджрд┐рдпрд╛ред рдПрдорд╡реАрд╕реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рдПрдХреНрд╕рдЯреА рдЬреЗрдПрд╕ 5 рдПрдорд╡реАрд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХреНрд╕рдЯреА рдЬреЗрдПрд╕ 4 рд╕реЗ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



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



рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдПрдорд╡реАрд╡реАрдПрдо, рдФрд░ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИред ViewControllers рдФрд░ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╢реНрд░реЛрддрд╛рдУрдВ рдкрд░ рдЖрдЧрд╛рдореА рд╡реНрдпрд╛рдкрдХ рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВред



рдпреБрдкреАрдбреАред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╡реЗрдмрд┐рдирд╛рд░ рд╕реЗ Dew1983 рд╡реАрдбрд┐рдпреЛ: vimeo.com/sencha/review/96094423/0255ad109



All Articles