рдПрдорд╡реАрдкреА рдХреА рдХрд╣рд╛рдиреА
рдЬреИрд╕рд╛ рдХрд┐ [1] рдФрд░ [реи] рд╕реЗ рд╣реИ, рдПрдорд╡реАрдкреА рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдПрдорд╡реАрд╕реА рдХрд╛ рдПрдХ рд╕рдВрд╢реЛрдзрди рд╣реИ, рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдИрдмреАрдПрдо рджреНрд╡рд╛рд░рд╛ рдкрд┐рдЫрд▓реА рд╢рддрд╛рдмреНрджреА рдХреЗ реп реж рдХреЗ рджрд╢рдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЯреИрд▓рд┐рдЧреЗрдВрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред рдмрд╛рдж рдореЗрдВ, рдПрдорд╡реАрдкреА рдХреЛ рдорд╛рдЗрдХ рдореЛрдЯрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдорд╡реАрдкреА рдФрд░ рдПрдорд╡реАрд╕реА рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ [3]: рдПрдорд╡реАрд╕реА , рдПрдорд╡реАрдкреА
Qt рдореЗрдВ MVP рд▓рд╛рдЧреВ рдХрд░реЗрдВ
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдорд╡реАрдкреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрдпреВрдЯреА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ [4] рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд▓реЗрдХрд┐рди рдРрд╕реЗ рдПрдорд╡реАрдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:
- рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ (рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛) рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдЪрд╛рд░ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ
- [3] ( рдпрд╣рд╛рдБ ) рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдирд┐рдпрдВрддреНрд░рдг рдкреИрдЯрд░реНрди рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ, рджреГрд╢реНрдп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ
рдПрдХ рдкреВрд░реНрдг MVP рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
рдЗрд╕рд▓рд┐рдП рд╡рд░реНрдЧ рдЖрд░реЗрдЦ:
рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- IView - рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд░реНрдЧ рдЬреЛ рдЙрди рддрд░реАрдХреЛрдВ рдФрд░ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рджреГрд╢реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ([3 рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрд▓рдЯрд╛ рджреЗрдЦреЗрдВ)
- Ui :: рджреЗрдЦреЗрдВ - рдПрдХ рдХреНрдпреВрдЯреА рдбрд┐рдЬрд╛рдЗрдирд░ рдХреА .ui рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдПрдХ рд╡рд░реНрдЧ
- рджреГрд╢реНрдп QWidget (рдпрд╛ рдЗрд╕рдХреЗ рд╡рдВрд╢рдЬ) рдФрд░ IView рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╢реНрдп рд╣реИред рдЬреАрдпреВрдЖрдИ рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдирдХрд╛ рдПрдиреАрдореЗрд╢рди)
- рдореЙрдбрд▓ - рдбреЛрдореЗрди рдбреЗрдЯрд╛ рдореЙрдбрд▓ (рдбреЛрдореЗрди рдореЙрдбрд▓); рдЗрд╕рдореЗрдВ рдЪрд░, рдЭрдВрдбреЗ, рдЯреЗрдмрд▓ рдореЙрдбрд▓ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
- рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ - рдкреНрд░рддрд┐рдирд┐рдзрд┐; рдореЙрдбрд▓ рдФрд░ рджреГрд╢реНрдп рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдореБрдЦреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде, рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрд╡рд╛рдУрдВ рдХреА рдкрд░рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рдЖрджрд┐ред
"рдбреНрд░рд╛рдЗрдВрдЧ рд╕реНрдХреНрд╡рд╛рдпрд░" рдХреЗ рдЪрд░рдг рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдореБрдЭреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереАред
- IView рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╕рдВрдХреЗрддреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП, IView рдХреЛ QObject рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░, рдЬрдм рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ QWidget рдФрд░ IView рд╕реЗ рд╡реНрдпреВ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХрдХреНрд╖рд╛ рдХреЛ рдПрдХ рд╕рд╛рде рджреЛ QObject рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдиреЗ рднреА рдорджрдж рдирд╣реАрдВ рдХреА)ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдЬрд╛рдд рдкрд╛рдПрдВ [5]: рд▓рд┐рдВрдХ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, IView QObject рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЦрдВрдб рдореЗрдВ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрднрд╛рд╕реА (рд╕рд╛рд░) рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдЧреНрдирд▓ рднреА рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрд▓ рдХрд░рдХреЗ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХреЛрдВ рдХреЛ рдЙрдирдХреЗ рд╕реНрд▓реЙрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдСрдмреНрдЬрд░реНрд╡рд░ рдкреИрдЯрд░реНрди рджреЗрдЦреЗрдВ)ред
- рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдореЗрдВ IVIV рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдмрд╛рдЗрдВрдб рдХрд░рддреЗ рд╕рдордп рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдореЗрдВ IView рдХрд╛ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╢реНрдп рд░рди рдЯрд╛рдЗрдо рдореЗрдВ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди IView рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд - рдмрд╣реБрд░реВрдкрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рд╕рдВрдХреЗрддреЛрдВ рдФрд░ рд╕реНрд▓реЙрдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рд░
QObject::connect()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ QObject рд╡рдВрд╢рдЬ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ IView рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреЛрдИ рднреА рджреГрд╢реНрдп рдпрд╣ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ [6] рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
QObject * view_obj = dynamic_cast < QObject *>( m_view ); // m_view - IView
QObject :: connect ( view_obj , SIGNAL ( okActionTriggered ()),
this , SLOT ( processOkAction ()));
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ IVIV рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдХреЗрд╡рд▓ рд╣реЗрдбрд░ (.h) рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдИрд╡реАрдХреНрдпреВ рдХреЗ рд▓рд┐рдП рдПрдХ .cpp рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рд╕рдВрдХрд▓рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА Qt рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдПрдорд╡реАрдкреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг (рдХреЗрд╡рд▓ рдПрдорд╡реАрдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╛рддрдЪреАрдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛) рджреВрдВрдЧрд╛ред
Qt рдореЗрдВ MVP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг
рдкреБрд░рд╛рд▓реЗрдЦ рдореЗрдВ 3 рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдпрд╣ рдПрдХ рд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд╕рд╛рдеред
- рдПрдорд╡реАрдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рдХрдИ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
- рдЬрдм рдбреЗрдЯрд╛ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдкреВрд░реНрдг рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди
рд╕рднреА рдХреЛрдб Doxygen рд╢реИрд▓реА рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЖрдк Doxywizard рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░
рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬреЛ рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереЗ:
- рдкрд░рд┐рдгрд╛рдореА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг
- MVP рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ (QtPlugin рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- MVP рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ QtDeclarative (QML) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреГрд╢реНрдп рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рдПрдХ рд╡рд░реНрдЧ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдХреЛ рд╡рд┐рдЪрд╛рд░ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ (рддрд╛рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдмрджрд▓ рд╕рдХреЗрдВ)
рдЗрди рдореБрджреНрджреЛрдВ рдкрд░ рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИред
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ
- http://www.rsdn.ru/article/patterns/generic-mvc2.xml
- http://en.wikipedia.org/wiki/Model-view-presenter
- http://www.rsdn.ru/article/patterns/ModelViewPresenter.xml
- http://thesmithfam.org/blog/2009/09/27/model-view-presenter-and-qt/
- http://doc.trolltech.com/qq/qq15-academic.html
- http://developer.qt.nokia.com/forums/viewthread/284