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

рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рд╕рд░рд▓ рд╣реИ; рдЖрдИрдбреА рд░рд┐рд╕рд╛рдЗрдХреНрд▓рд░ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рдкреБрдирд░реНрдирд╡реАрдиреАрдХрд░рдг рджреГрд╢реНрдп рд╣реИред рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рдЖрдЗрдЯрдоред Xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИред рдбреЗрдЯрд╛ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ ред рдорд╛рд░реНрдХрдЕрдк рддрддреНрд╡реЛрдВ рдХреЗ рдирд╛рдо (рдЖрдИрдбреА) рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рдореЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред
(). (MVP).
.
Item тАУ , .
Adapter тАУ RecyclerView.Adapter. , List. , , : getItemCount тАУ ; onCreateViewHolder тАУ View item.xml MyHolder; onBindViewHolder тАФ MyHolder ( ). MyHolder .
Presenter тАФ RxJava Retrofit. URL. iView ( MyFragment).
iView тАУ MyFragment.
MyFragment тАУ Fragment. . ( List.) , . , , , .
. , . тАФ . URL, RecyclerView item.xml.
тАФ , , . , :
recycler(URL, R.id.recycler, R.layout.item);
DePro. , :
component(TC.RECYCLER, model(URL), view(R.id.recycler, R.layout.item_news))
component тАУ ; TC.RECYCLER тАУ ( RecyclerView); model(URL) тАУ , URL; view id recycler- .
, .
DePro . (, , , ...) .
. :
activity( , id )
: activity(тАЬsplashтАЭ, R.layout.activity_splash)
.
: fragment(тАЬauth_phoneтАЭ, R.layout.fragment_auth_phone)
. MVP.
:
.component(TYPE, model(...), view(...), navigator(...))
TYPE тАФ , SPINNER, DRAWER, RECYCLER, MENU, MAP, PAGER .. model(...) . , , URL. view(...) , . navigator(...) . , navigator(start(R.id.video, YOUTUBE))
, R.id.video YOUTUBE. navigator- .
, :
activity(String name, int layoutId)
.component(TYPE, model(...), view(...), navigator(...))
. . .
.component(TYPE, model(...), view(...), navigator(...));
5 тАФ 10 .
DePro :
- java (SLOC) 40-50 .
- ( XML тАФ ) 15 тАФ 20 .
- ( XML тАФ ) 3 тАФ 5 .
- 2 тАФ 3 .
. Github.
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдбреАрдкреНрд░реЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреВрд░реНрдг рдЪрдХреНрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред