From 88a71688212016e2e541dfe5d7c287261e53a070 Mon Sep 17 00:00:00 2001 From: Roman Mogilatov Date: Tue, 1 Sep 2015 16:28:11 +0300 Subject: [PATCH] Update introduction docs for 0.9.x --- docs/images/internals.png | Bin 10302 -> 11607 bytes docs/main/introduction.rst | 37 ++++++++++++++++++++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/docs/images/internals.png b/docs/images/internals.png index 9919bc42432b16ddbdcfc7171d35eed06d579a1b..1c5958067acdca9a981e85d5ed1d03db1fd7d2b8 100644 GIT binary patch literal 11607 zcmdsdcT`hb)F)5$p&}q6qS92J^d<-h7@~k8UAmMIMT*jb5C|kBSSTt8(nPvZ0@4Kp zqy$u?69~N~QG^ge2_>N1wS9QSt6=ep%}9-gWs{=IvLxc$FEY)uS#D*7cB zxt(+OZ`oS%@W5qxcpgXd@G!Zg$6SO^bsiq-T^=62w>&&zK{<^!SGjWIw=L{%a5x+i ziS*>j6E3H*v2ki@DwRrARaJF%c2-rDs;vztkit=EG;crEEb1Ta_rb)?lm?x zMyJ0&aNvNCkMZ&2{Km#A1qA_WYSJ||u+q{;ELPF!)5i@A6r7#)&z%$f^eL1|&B0&- zfBbm5wwC|oiR0_ncLM`WGcr6e7|f3!Kj?J&>C>l&hK2$I18Zw*S&Vtwc=pdv+Vd?g zTa+LBY}W4j^!75I+8fDcZOzu-S|=3Ke}AEN!{)Khly<*B$FnjLhjo+$l`b4rl|NaV zcbnAaAt@&sl4YNWeK1rH;*cK2R(pJygt4X}??ywncenP~dut4uOS(fuaj5A_V@&(| zmQn1;@8KRo*N;+1%xlw!`CddS5n1T^Fu~H# z?vZx!c^`YnkNPKq^J~Q~D*30E#?%j^$~rTLHs18Fvi8{Y9j19|+4+dK)D1>VU1!J4 z-2J$ml&*zPbfcE3eZp6wr7v9m$~8lm2ZAD}?nK1@TwbdmA!^6I@Bg(R6`t_|JJl|I z4b0uqzdX!MjCr0PlDx(390|JR9KyqMI{VM(FVoOxX*@iNfu_dS?Zc;52rrDpo%1Fh znF_tW7CujSePmKVS^Tb~$*pTTfKJ&|Pn{!i>+Mh&+)dSc4O^G$pSbet0X$4F za2dzwB(sU7LorugmIRL)kp?V!F(tO9r;!eoW(RyUxO4xfu5-GRIffdIjfj-})elCV zo2I~Neb@8ZbWI+~>oDT9lko{=C4)K=Rg^{#;c)^x7Vj_JvRH?uGqF)=^co%~cPoZ0 z+l}^sS0j?snU?rgVKjptf~`?tV51BdpJ&^)7vxiO18yT}`L=qqHz`M&3Q-&(dC5mI z^k{|>W8hz(1O!Tfd%R{QeTM-Lk!GL|&>snS5uNw@lzcnA*&CD>;ttfLi6R;I=)C4j zm=WnL&EVF~qI<$ZhSpC8g>#v-C>p|yZ8bE&=VlX~cNE!16slRT@qc~@UDS4)Q+pkQ zauQ8J8UFOWKtFj#Ua=kW{+h&LfCJnCHZ*Y9%``esaopbN-yhj#7ugA4(~T*`?}dgU zlq4^mquZaE70~|i6h9n;7v?v#7Be(aJ`4aImaIBQhn|Q2uLk0eqmvTc_;<^sB+r}? ziu|yioIKb&&i%;i!NrSD!8c=Fj&2OF9igIPR0u~d20?=5J;z)*Vuzo;z>%Q3j`z1$6WA8Qu%%;OXoCI z8ZyP$782I8Rb0k{iu69FQO83+CjZrdG6G9W4XYfZcc=U^s99*yF58dUU5O*AHh)b0 zG6<gZIH4r2C{?AX&kZZwbwj68f z<;T3UF5>_n&)3Y%bR`_>v#5C{{YIZQim+wJHTN7_EEl5cpV7`JM=L=BLO|~Mf8#n# zR_tl71sw$v-|N+tih0^k#XBr_8?UI%iJY8tSz<{jf-__|*gPx0srb*$6{f@oncVMj2D5PnwoQR~ z)cfSOpuan7YnB*q19#f)YeH#iN29cy&1uc?VctevG7JFoZqq!L@zwKZfctqXe(ZpB z<8~GK8hot?99w!8CS*E(3i_0MX9t)l}sv{H2n zy3bGcYeoFzC7!-FBN2Qog72chuf(jX7rN$mB({YNj-~D#@1)!+I&CN|wUl1edMp^y zGwpT17SFe$t1I5OHeneu268{zF^AJeII^>fKN{4W_taHf6~FY`8_9By*bXdvwEMW; z?e7yh)DP5Dbkb;`xKJR@Z;}^OkXx?p4OP2uL=-kMA*PKgU8DyA$ zf9L-KpL}yL4rOH9tiWoC{R-KWpWh%x<}H+>J*T2EiHz-b9me{k3eOHeUtdleD4uX4o8iKRVK2 ze(DRbl|!zb4W&sqlLR1Qivtqk;^hJNt__H*YtDU8y-(bD!UQCcmTMw}J{IZ>vPD;> zZa7a%9d?sGE4?0gL8mSsFRtk~T9K4AYTYQb*d&QHP!vBc*?LK1Y^~l&;*2=nRm#^T zAD?{GhV#}JDJJGNnArH?F6oYr$!^}*z(ks9M|)B6$EE-b&xHA6#^8<=TT(#u69zIn(6ls>8f-?K5*i%d_ z$e;PRaHnG?+V{Czbf~9ZF#4_ROJ#y^GucGOr7#Wp~WxQ~P zzv^O%D; z>gkpS_cUTs@?pr5M=N>99-qvTmrw8YHY-saS5(aJwy;vb6l!X?sV%*6IPas%7;>w1 z>DRW-6tI``=RAiYLiEe93?ime+$>ZJXGgv+q8DUCycg!4G+oMU zl|t6OKkBSfY1SyO%XBoW9y0HN!_@TI9mS@A)$z0x0K6mcykTldsoe1J=v526(XmZm zL(13o2@lOfqaXOzQ{f{9=uL)a=xjB<&~M`nv0BAWilZeng%2s5FFO-3@^Q5}(~?4Q z%a7C(`C35GIn{S5te#kt0j1bEe}HO0cOUn8_S*MX5RSuN^92q0kT}=brO8h3MA{BI z^k;p$ivD1S+;IL>V&mK!i>nQq>)#&*u|97x=F*Yp zc01H;NxNxRc??a8m=;^l^WAcYURFJ4E*~j&?M?*PrPxt2gSB86=qWwhp4A{rJ5dLm zw;5q{H5Si1!!ZS>33n&$Rhkrc0QWMz*yl<`|KNCfljFVxUUGJbX)ftG54$lbxnS%t zze!dpdxK|`KBe03k`<7z-9MK2T0=W2z@5}g;CfM$#V-tbc(q!mzUbf)Ny)|G%z>xG zg3HPI8~qO#jt+-;yvL8KY#t>`+(9>mWvW2u%~b3#i;+(C1}Uo#@2KTSX^%NF?_wrEK^{#{N7TgG{TNRrtf=hW^c;Ur5sjdq0qw2OzRZXVVj*t0m~I3 zdHohn^D~Ia98M}f>&;zfha-}?i!Y=1AymFaUCc&L^Q%Csu1S6oxI*P&?g%v|FH?1H zrTCd4I_zE)=|T$X zsIl}ov*^TbQJP>5^=S0!MXSZH#WOVvCRsSS7MgXoN#ZlH5;tI{tTE~ zjGU9a#@lJcu`ybxqf5t3oDFhlkc5XUa526w;$8KNpzi<~M!-p33~zw01iYzVLGnQ- z0Y441TD&ISAB%GN!#U?mDdG~o9;t{$k&AxrJeR=tjp7GhX7)ch#pQwbLj^wv>(Gav z7KZ#h7-s~@znse}*T6;lxG3?UZ4qznZMkqwKQNAXRy&tFjTAg&iYu`Ir|c;z{5+5& zlnWL-k~6@@?}iS1ZK$|L+2a-b8c|_L*-N$fs(TGrk%6Zn67;F=zW{xdI!!!b%g()YIC=dO6mNdhVHS3`R_kE%{P?+1W?RsUZFD~ zrW!P|f9VALO7v=BNDBm`irFyJlCvAs>>Whas}&cOlrTA#7_nwGh3Wr>ZCEiMmzJ)m z)nDcqqHqLIS!kC2v`4Fd7`-rWZJ2Zj-L#lPbImYqo@q9xm3R&d!;=)dq(^;!TM)1j z&}b=sL)fq`Ne43*{Ju6bE!qIxIGSeF`J)N~%bm|hJygGe^Dq@;utrrFuS zKjoE&i)qu#Y@?<43}JR{+m^8Xc`;ysD%RFv^l1vLs(QAdBo~SW5cv2+Zf>>S==kDluHjF9)(hEJ~m2((tuO+lr z1k_!RJWp5WDqc&=9*>aS+#LH2&0z03f!SpY`UP~{BQ3+IwKX(M_(xlu(3C~2*m#)u zE~(yS!6waJH6K;(g?rn{0dh7G1W zBb^m!7w#zc2FMP$fL+~D;lSAy_tq_H?Xc3uASR4`FS)($~y_Qj&FDSJdHiZLi$m!MlMb+ zFOK{63`Nx~T$tvck8d3+=7g^FzPL*7T^`IYL0sRWl%w+-dr=;ao=K=WpA{H+z}2TO zzfKP2F0`>BEnzL2NO`7Eb`RckAz<^nfY@|0_x8Qr}dU+kw8!(*en7U(p{(W4b(j1N5B+G3r=9YvI2Fwtu-?W`*yz zdQ1A`X~fOhUqgqhS;S8@$rglgMIMYbsT4v&2Q- zSd_gGrSf~b^@Rq#U9@(ifPhEdP*GNuXB2Mft6dDQ54P{?LyWnM{4 zZ=UdT0G$@qhhLzBlN0N-pqa%Zel=oaBCtS2h!oK|)ncAmBCt`b9C1%}eA#Sk^cuNr z^2Yux!ZaYNe1tdZl`f=7$g{#~_emL{5k&iSbxq3B9$mk9)pJpn9*Od8G@p9oM<^*R z?M%Txb^iUPVQ{#}+xtF+pB$Fdj3-UF5;vq1 z-0`Oyb?gY~qok~h)~c-0j&#d*v56o=#A~EG?&Vt&stYjfnq|u%r13W1+zOkFKr|jmAvM5Yj zOcvwWMAZj2m~>Z5?P^^zL!DJAEo{zzpDAy0C6UwHiU;HKO+=ac3d_m9(##%n0^N?* zm?={7^>8JWhx^gqK=UCq?1+t;3f4KIe&l2${9-(563_Ux z^L^GF%fKM`eSdX}02o6EWm$SXyz1)rLm|DLYT(TAypyr}-Ff7^I@s3m>5M^31mA zyi^YbHp^u6!lbAfk0X%L_oOZV$?Qe$W!OF4-_6KSCB(WHTY4$_DwfVWm}=DR;pLWd ze2FZ4LDXdVz~njXMfcZZ z0i0|5nF&3keyx^KyHrWe?Wq35rSZA=R!zVeypQUIx?S`B&zKvaZ7-d#Y1C{g-J)??J>d}x3{ zN4+<1ect-&0)4?-4DPe_LyF*yoL*g8Ilr5$U#ek3@(jeysfiLR;`XoI{O!>aR=u}N z9WO!M4(M+jz#)cvw^ZlGyicA>Zq?pJ@X=xA4};7#GPv@c6v=hmPTos{o%M8k~ZGvuw7zxd-q}{i>G# zCNb41_zo5?0S~CEHvwM~caO9OzO9VgpBQVMy++YvSOZ-s@M8vkH_0fe^iWleBr zypKOYS1){`8sua+Fa^GwydLFaX|3zZkDcX|JuFm!Zt`lSr^QwzJx-T?_hPAg)`Nu? zXTp`5=GxQKJFB6KdBEzZ>6s5$EHO)B0@xrY!>&WCO;&vc)UYz_kV;B0ajv-mU(XwZ zWKN-*cD~6iFsC`EM!UZ_=V3f_Ce zh*Ie}5@_{}un|}zZ&%se4)G$3>+X)-uFf%XjjX;PH`Uh{hF&Tzs$b2r3u2P%PvIWw z0&Jt`KUxI4Oj%7zM4X*8GbYbIIU40E_yOEk7i-{09Lg$pb$47sQn~eOIg`W+$NSI?58{KZ+2hdtkjx>t$#N+goH&g+LxwFd-dKi+p8ra zqXG<4Tbh?KTCLhmb!Bv+e4;q0SvMFe&9IEWD|1uAkjdJ2_d)w|@+> zn#&BhNUNQ6fHYNRWJq83->xNA+^pUb!9?haZDfiXPnpA{N;_6ho)_U57-> zi@lNP$Pxz#rOTU< zUV+7(EBuvxO>^~*M8L*aGi*CoXV`t492QAgQ8oz+*01&0{c5oUlh5?I`Qal_Jw!Ok z1^8Yn-KlDSq(`^n0p+i#L>!m!ih}&NmZp`*z zqfgm5`fBVs8opSFbLp>n0OSz?>_#rz?%>>p(vJbwgvuJ_-bmX8c%tszPx08hG^&}I zRMP&7d!&MM!8pABHRaau3pYI2?IO9)@r0ATl__RP;Zf=Kau=XF>%HfN4|5ZUX7Kj1 z9*Pk1<4-ogO(LCy&~ZlG@P8rSvk`t6An_-K;B?K78c}|6gZ%zopVUezL!mf4VPpfz z>UN;z;ElLw7q^h+NB>3e0`wp^d-(sZwQ97c9QIK7hF{<&wf91}4R8mKn>&Q!s+%+L2Tz z->_BGQ1=ze{!E$eZb6&*>~3|CpTeSt+h?fX`EEH2$EbxM(_O1+^k(D{xj{J#?F@Pb z?W5a*SO4b4gdh3p7=IV`HfJ4}iaK0G{j|Aabroz|9+I!Vz-oe^lIcb~$8`+(^mx#` zl8^CE1g}x9@tuRd<2|m2|Ld?Mg(q4N%JYBSFb|K@b?0z`KMRWhyd8_zUsMP^nm( z4X0IZQ||A*Fek7Ys&!+`yVtGc&raN@m+9Wjz!zcf({n~hfQ!i9r>j$!8g*p{>=pN$ zsAOzycequP&nCB=Q+>7gLt&YHL&38iINHe`bwM*(M_^%-%tO>)$}4|cvl_e)u&XFB z6^CP7Rvzx9`4>PJmc+BaM8694>Q6rqON5E-Z4dgz%_sr`GBP!n$w;VXw6@$V?r5-7 z|LUL|V+zjuC?~O3v6i8t`p|q`_vXm0cIVCRFaDDVcMGOSdbKG@^y~NGd>*TI33L-VRMW#C3grrt9 zDpXj{S5aYqQ1g%J`gQPsY=waLESXhi)b|EEmErJQ6I zus>XcvPlQgozJ*4lp*LAHyq4S6cW37Q9D{nkc;&^anQ0iMg+Z-@i<3}35(*Cf^~?o z|ElS{GYn%UplM0TY_4u%(f0SVAz5Z}^q@c33vS}{*8NG*swB`XwRHCB+YPR4KcC0`Wlhpo{XBB8nJe7t~NiU;YJIu zFkn@>WW!|tWIcf}6WH8XITGOtxNWwQTea~mLMU{&;!|jN!N~f}-cmgIx;dH^otUJu zh0oT5$ODWi3(JE^S@n@m@IvWe@N|0p!1VVD&^>EsTDJQGL6`5c(0|UY;zK81<&K-T z8dI7`c@3H*gSFCW|7Lf;?Ys5&j4X+z+h!|cjuk3ffmP!tn1M?xI(X7VyTC z74|dfIvDm8e1(5fFzB2i(*s~rlU*laT60!$rD zVfw^SH9E+-qVKOAa?2EO;^A|cxk4^AR+^dUlJRJ7tEwW3eJ4djKax#K+`rEX0&O?{ z0$iw#y5o9%fRr-X>5J?oG9Ogd1vypFXrqRtt7+vBIQV;i*iZIV?&i0$$WE66v6c&{ z#p_0-v`baX5#mN9P)6p^b7l986f7RQB))Go2d9wpnkV_fg!bK6zgN6-1y$1C3E?yV7Hfe>f1T!)nEh`=#}>ie-)ud!jAN_6 zormXC*lN1eWx9~<`Ws(Ckad8+w5h*IupVy2H=|;_A{(zWSJJF3(Zv9W6t{YTDCn}F zyGB4F(QSObHynjv1#!Zs#YJva>hm#0f3u%7#P}mOuT_TLb(+x71n^Z)Jvn2zZ2ld- z@c=R0y!N(W+zZkorzQY@X3{jx-ScqvY&JMjY`E|ug_Ku!?g7Q5u#Qc}&@A6xE z{|-HU!r(HddHQu{GT`@$8o_`B#%ze7)~DcAfKPyV^^7^)IxHck8aKc2TG*hEE7&=s)Q* zjoqxT!?nGNWn)n{cFrx3{3-4xLxr%ZrH`kW6&nFs(G^8P23_%;Z~z_2s$N5N9^0#T zF(fgP{uUI}nRobJMve=tfLxAk@qxhZ()?2K!u7QMaZcDdIx*IVxu9WZ3W=G&gm9(sfe1;7M1FK2@l^#Ik`)W=@7H+ zaqmOzYWH@DIWYaHspKb5iFD@Jw-#7@uB94XAQKBQF!k}S>^%x!(&r2NjFN|BOPWuZ zAU587eWN_1e}!H-y|PR-sg}vs)mGDuV^}XA*UJ%E?EbFVzl z$arq$3EMqb2S|xhE6wa?(^E1 z9*47otZB(GV3{-|vPpq=k-%o>5}r+kV&6xgcRrygxmu**Ud#RJTado~H`$B2(k%qN zsY^{eui8SJ0sscUu}W!{#?*e;((SsMd#lK$aCTcEVYW&lgtod|DZMhG+qo3SM_TPd zLb?nQpjA96v89|%A#U~mavw&7L<@Er?>x!ul31qPt0VGB%Y|&0*KLPs_X&S<{4~vd z|LULbNndZ?FsKRJA+oysHs(&VDR&~|j;bc&lVxr8Z<`x?AwPBY{?+ypSE!5pBt?fj z!zU{a?!Wc@hyD}L1*v#WAbO$1xGoQLftwDkaS>&Ez!wimqh$hi=3ier2Q3h6UDbt0 zC(?gO2R)ZS%f#%+Wxl^jxh1oo-2R-){vt|S*Cjd;%3RH`bUMP#i{eE7WJmu$w`l>~ z<)uyC(mRzAAn#ztbUmD-Ry3B%4Y8IKGw876Umlm)x^n;4t5CVQ8f5HV%y_j@5dUa! ztD}*d(X>W=jqwa!{8DyRANu7&wz-~|(|nhNs)E;}BRLSh|L|(V{}$orJC4xFj8!{P ztAop2fs4=^cc7m4pk8|SgT1&n9u4(NS}N+gD(aW)FKOy&T-MXjQBqgeQ&+DSKT`AG e2?RhqA9_dp&jmVeRtf!4$@GSmafRXCr~d_e%mhjR literal 10302 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 diff --git a/docs/main/introduction.rst b/docs/main/introduction.rst index 0df997bc..5467f43e 100644 --- a/docs/main/introduction.rst +++ b/docs/main/introduction.rst @@ -57,6 +57,27 @@ framework: Main idea of *Dependency Injector* is to keep dependencies under control. +Shortcuts +--------- + +*Dependency Injector* recommends to use such kind of import shortcut: + +.. code-block:: python + + import dependency_injector as di + +- All *Dependency Injector* entities could be used just from top-level package + (like ``di.Factory``, ``di.inject``, ``di.AbstractCatalog`` and so on). +- Another one way is to use second level packages (like + ``di.providers.Factory``, ``di.injections.inject``, + ``di.catalog.AbstractCatalog`` and so on). It might be useful for improving + of readability in some cases. + +.. note:: + + ``import dependency_injector as di`` shortcut is used among current + documentation, images and examples. + Main entities ------------- @@ -70,20 +91,18 @@ interaction with each other. There are 3 main entities: - Providers. Providers are strategies of accesing objects. For example, - ``dependency_injector.providers.Factory`` creates new instance of provided - class every time it is called. ``dependency_injector.providers.Singleton`` - creates provided instance once and returns it on every next call. Providers + ``di.providers.Factory`` creates new instance of provided + class every time it is called. ``di.providers.Singleton`` creates + provided instance once and returns it on every next call. Providers could be overridden by another providers. Base class is - - ``dependency_injector.providers.Provider``. + ``di.providers.Provider``. - Injections. Injections are instructions for making dependency injections (there are several ways how they could be done). Injections are used mostly - by ``dependency_injector.providers.Factory`` and - ``dependency_injector.providers.Singleton`` providers, but these are not only - cases. Base class is - - ``dependency_injector.injections.Injection``. + by ``di.providers.Factory`` and ``di.providers.Singleton`` providers, but + these are not only cases. Base class is - ``di.injections.Injection``. - Catalogs. Catalogs are collections of providers. They are used for grouping of providers by some principles. Base class is - - ``dependency_injector.catalog.AbstractCatalog``. + ``di.catalog.AbstractCatalog``. .. _SLOC: http://en.wikipedia.org/wiki/Source_lines_of_code