From 30d13083ae41455d07a75b602a0d3d63940a5d5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Sun, 6 Apr 2025 15:52:26 +0300 Subject: [PATCH] docs: add diagrams for decorator, delegation, dependency injection, dirty flag, domain model, double buffer, double-checked locking, double dispatch, and dynamic proxy --- decorator/README.md | 4 ++++ decorator/etc/decorator-sequence-diagram.png | Bin 0 -> 61574 bytes delegation/README.md | 8 ++++---- delegation/etc/delegation-sequence-diagram.png | Bin 0 -> 26102 bytes dependency-injection/README.md | 4 ++++ .../dependency-injection-sequence-diagram.png | Bin 0 -> 26244 bytes dirty-flag/README.md | 4 ++++ dirty-flag/etc/dirty-flag-flowchart.png | Bin 0 -> 47820 bytes domain-model/README.md | 8 ++++---- domain-model/etc/domain-model-mind-map.png | Bin 0 -> 109971 bytes double-buffer/README.md | 4 ++++ .../etc/double-buffer-sequence-diagram.png | Bin 0 -> 63059 bytes double-checked-locking/README.md | 4 ++++ .../etc/double-checked-locking-flowchart.png | Bin 0 -> 68865 bytes double-dispatch/README.md | 8 ++++---- .../etc/double-dispatch-sequence-diagram.png | Bin 0 -> 24765 bytes dynamic-proxy/README.md | 4 ++++ .../etc/dynamic-proxy-sequence-diagram.png | Bin 0 -> 50644 bytes 18 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 decorator/etc/decorator-sequence-diagram.png create mode 100644 delegation/etc/delegation-sequence-diagram.png create mode 100644 dependency-injection/etc/dependency-injection-sequence-diagram.png create mode 100644 dirty-flag/etc/dirty-flag-flowchart.png create mode 100644 domain-model/etc/domain-model-mind-map.png create mode 100644 double-buffer/etc/double-buffer-sequence-diagram.png create mode 100644 double-checked-locking/etc/double-checked-locking-flowchart.png create mode 100644 double-dispatch/etc/double-dispatch-sequence-diagram.png create mode 100644 dynamic-proxy/etc/dynamic-proxy-sequence-diagram.png diff --git a/decorator/README.md b/decorator/README.md index ddd8a61a0..a7b0bb9ad 100644 --- a/decorator/README.md +++ b/decorator/README.md @@ -35,6 +35,10 @@ Wikipedia says > In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class. The decorator pattern is often useful for adhering to the Single Responsibility Principle, as it allows functionality to be divided between classes with unique areas of concern as well as to the Open-Closed Principle, by allowing the functionality of a class to be extended without being modified. +Sequence diagram + +![Decorator sequence diagram](./etc/decorator-sequence-diagram.png) + ## Programmatic Example of Decorator Pattern in Java There is an angry troll living in the nearby hills. Usually, it goes bare-handed, but sometimes it has a weapon. To arm the troll it's not necessary to create a new troll but to decorate it dynamically with a suitable weapon. diff --git a/decorator/etc/decorator-sequence-diagram.png b/decorator/etc/decorator-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..edf3ea5c31ef57e05431b44e8e7839b92dc2c202 GIT binary patch literal 61574 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 BJ)Zyo literal 0 HcmV?d00001 diff --git a/delegation/README.md b/delegation/README.md index 8c90d8ee8..d12b92c37 100644 --- a/delegation/README.md +++ b/delegation/README.md @@ -33,6 +33,10 @@ Wikipedia says > In object-oriented programming, delegation refers to evaluating a member (property or method) of one object (the receiver) in the context of another original object (the sender). Delegation can be done explicitly, by passing the sending object to the receiving object, which can be done in any object-oriented language; or implicitly, by the member lookup rules of the language, which requires language support for the feature. +Sequence diagram + +![Delegation sequence diagram](./etc/delegation-sequence-diagram.png) + ## Programmatic Example of Delegation Pattern in Java Let's consider a printing example. @@ -114,10 +118,6 @@ Canon Printer:hello world Epson Printer:hello world ``` -## Detailed Explanation of Delegation Pattern with Real-World Examples - -![Delegate class diagram](./etc/delegation.png "Delegate") - ## When to Use the Delegation Pattern in Java * When you want to pass responsibility from one class to another without inheritance. diff --git a/delegation/etc/delegation-sequence-diagram.png b/delegation/etc/delegation-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2d07f712d4cb091a3112d22a5779ab9239ef4b7a GIT binary patch literal 26102 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 EADTD0n*aa+ literal 0 HcmV?d00001 diff --git a/dependency-injection/README.md b/dependency-injection/README.md index 51b138c20..c3fc2c15a 100644 --- a/dependency-injection/README.md +++ b/dependency-injection/README.md @@ -35,6 +35,10 @@ Wikipedia says > In software engineering, dependency injection is a technique in which an object receives other objects that it depends on. These other objects are called dependencies. +Sequence diagram + +![Dependency Injection sequence diagram](./etc/dependency-injection-sequence-diagram.png) + ## Programmatic Example of Dependency Injection Pattern in Java The old wizard likes to fill his pipe and smoke tobacco once in a while. However, he doesn't want to depend on a single tobacco brand only but likes to be able to enjoy them all interchangeably. diff --git a/dependency-injection/etc/dependency-injection-sequence-diagram.png b/dependency-injection/etc/dependency-injection-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd4d817f7a082ae7d99f6b13c9ef2492a194d38 GIT binary patch literal 26244 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%0DI1?4v>7y^$ro{ts^L{1N2j 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 A dirty bit or modified bit is a bit that is associated with a block of computer memory and indicates whether the corresponding block of memory has been modified. The dirty bit is set when the processor writes to (modifies) this memory. The bit indicates that its associated block of memory has been modified and has not been saved to storage yet. When a block of memory is to be replaced, its corresponding dirty bit is checked to see if the block needs to be written back to secondary memory before being replaced or if it can simply be removed. Dirty bits are used by the CPU cache and in the page replacement algorithms of an operating system. +Flowchart + +![Dirty Flag flowchart](./etc/dirty-flag-flowchart.png) + ## Programmatic Example of Dirty Flag Pattern in Java The `DataFetcher` class is responsible for fetching data from a file. It has a dirty flag that indicates whether the data in the file has changed since the last fetch. diff --git a/dirty-flag/etc/dirty-flag-flowchart.png b/dirty-flag/etc/dirty-flag-flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..02db0357be1a6a3108ded9f3f27c45d0f681cf60 GIT binary patch literal 47820 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 literal 0 HcmV?d00001 diff --git a/domain-model/README.md b/domain-model/README.md index 5a914c7ef..c6e019e1b 100644 --- a/domain-model/README.md +++ b/domain-model/README.md @@ -34,6 +34,10 @@ In plain words > The Domain Model is an object model of the domain that incorporates both behavior and data. +Mind map + +![Domain Model mind map](./etc/domain-model-mind-map.png) + ## Programmatic Example of Domain Model Pattern in Java Let's assume that we need to build an e-commerce web application. While analyzing requirements you will notice that there are few nouns you talk about repeatedly. It’s your Customer, and a Product the customer looks for. These two are your domain-specific classes and each of that classes will include some business logic specific to its domain. @@ -225,10 +229,6 @@ The program output: 12:17:23.846 [main] INFO com.iluwatar.domainmodel.Customer -- Tom bought: Eggs - $10.00, Cheese - $20.00 ``` -## Detailed Explanation of Domain Model Pattern with Real-World Examples - -![Domain Model class diagram](./etc/domain-model.urm.png "Domain Model") - ## When to Use the Domain Model Pattern in Java * Appropriate in complex applications with rich business logic. diff --git a/domain-model/etc/domain-model-mind-map.png b/domain-model/etc/domain-model-mind-map.png new file mode 100644 index 0000000000000000000000000000000000000000..38dcdf26d4bcaf52d23ab7e2b54db6bd3addeb7b GIT binary patch literal 109971 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 z zDvn5huBw&O5FB!$N+kjp7bK#@RD3$yfvt#`EJ|{On9qG0)&Jef3O~%bRGe{L0cuSt zeNB<6FCAyC>%NOBDmJ>hyO~qQ*6^8*@Va3N_ZKt=EIsI0g^?p7E|~ubczh6ziamA4ylPiti0}-w6k|zIQEre%ykau!oRH z^{Mc4hDIhxD~=B5_;!SVLVM2ko{s!t1_=ozTKUs1onhZQ1j=j@O-IU%}(<8EHCeP>I{1Dy>qtm_v%8j&_;GskHP{-jlEUMN7fAThO_KQm zXex0aPV8%gO_7_kyGATLykKYH3-~H;9iOi6IhzY091W1^9tGP$dQx0ChVUI}Xgo`A z#Ju~j98D7~_A|C;L}Mc^D4Tr3H%3qKS)w7&$in1WZ=MEAMxaE79tLUAv#@Zz#^)ZO z2b!lJx$5#TJ{q?mPUW=?E9tDnE>K0(YDVgr|_8{uk74N>_~t{?dG1=v3bh{6Lk zoZDY%e(oX&bY6W@!9daXjv%yBBf8V7uh+ivz;Q+AxFJfa5Y(tFLrQKsj*zp>&3i7- zh6X}!oEL(W^{)0{W0m#Feb2Ni!Y>a+t)_z;oE>u$u-JpMoNvL&=|XF8`^?FtU4b&% zdW8=%A8-3k(wh4QG3adMZE@@QFM4Aypov}=3szUrg!SvvMPr!Dtck;Op&LSq zAk)2{rD#3RD8kl`V3tPYgaZlEz1{@4aXWBx`a5qr0)^6kPwdlz`jGDBJzn*~zepZD z1TT+4!yF%Y6v;N?Nf@qR{WH=S8ol35`7t!lr!=PcBA)Kt_od){CXEGs)haNOl zNRiA@mRxE>E_LjAY;6teb0;F3Z^1u zr`3sF37$f{i};it0v@dJFJ1?GvxiH9&XgL(poaLOUTr@J{k*@dW=+cR92M97=>SPk zknK`ynNVba1X?sR%M^Rdold|Rrs1c%{ci;;F}v8lH}DNkd!}92v-j6O)vPu`9bGP# zU`>WZzch1!us0^NvvY>aqh`BMN)AVyZw&k@o)tCLXap|aEJ_-C-KX485swuGR-b&H zbG_fUy?7Txq_Ge7lHxk^?Q%Vb%%hInokrTXC>I|{+6@X~EO$>XbV%B?5+{BY9_BmY zyIS%sxdGa?v)rEtu|Fglv3Ur5H+j^Et1;w|;_WfhJ4w168#n5Q*X^LX3|PZtQ_~-H zx)4a6T6{tVPe|O${v*DSW+F3Ktlf+so1A7syq-eY8aScTZwv}h>#q!!HH@N8j$PQ}CdxhZgCFj5BpVP6?hZQ#O{p#a<+1 zK~^>@IGobcxMyQ(n_#N)oVR}p*W7lmWY=NeG`l&1udSsv<1$R+rILAZ)wua6)bO#u zPp-~TiWR$eD^}@g@cBueT%U9LsUs@a9t}!h^v>?faZbt$nUkqz%~iVM6ff3w@2IxV zSE?&o&eo$QsjK%Wlp+=@s4|`K;SN1j{c<7tOY6Bckb!vg5-f0Z&lA;B=2N_0YsJDYdQK+6XRwu*uX)BqA@!;Y~mZ+9x*nN)c~`t@U5;LAO*iJ*SB62aa!eQIFgnL;GAUnFcY>tLfW$XB;$2ugp^;~tu_7xGz50)1lXP^*-hIkqgRFGSsZtr5s{#u&PzNXTGN&n?zh#l2dk7W9$JUIrl_~TDM z19L9vH?O%KEqDxd<{NqDDs#JWBuntKl4}WR%cG^x>+IkzMvFPyZK(_xJV8rw8_xc& zW{pbAjCauu;|2&5F$&VOyonmo$~3j+(=u!}ChsM7s7+tQ>v@icMJCj3d;W+|8Dspc zTnK_p6nq&bn=uHbIr}{{m;6I!BNu=9zUfprw#jlc^DZktt)gVLtG9Q6xOj@jZtf*j zs^c@}G?499rHHq7ju7F`8uMMZF)UQ4&Znmzb+!8B(q;S=8TrbUQQ&HN?=CK4;|yrE z;2%$varAl>Z`)F6E4&dWF4TC~^(#X0GT#a#(-~IAG2A0OhXLY%H(2tF1rvM=4W5DD zT!;;^eephLpJ~^cRdpR(OEh#bI-AaF3`mb-s;<4Na9@N~>pE(3g`hXFe@e#cMI#>T zT+5M6yjU=gQPvz3EK#c(CcV~*@i7yQL^1{QrA7V3)b-@XIVO13TVY6FZa2u)bT!d< zaTTa;I+;hC%=LlCP=mp!@$+^N(V~aVuqNZ_cW%oCzsUtJ-2u_vXu>t2y7M#5upg84 zuXJjD@3d|;6m`S|7MQ9Ywg63~710?lr|f`hm{jR%W&|)Xi|k_qB(U?zLj70#N@*)5 ztmXo8`g;%NBOMNYLu{mfS6S5^9kJ4pYnN3iR@y8kZt$5f`S1_W0xsO%Rg>rCqXJN2 zVG>BxIf!$VA=uMQhuw%8Rq%!(%qVo4puPBAClCzvJ%!k?m$ixzCY#xM64h`rLvdTt zK~-2H0uqY>=@N}9SVM_tobf8*^J(lhSSlszk>e1qcUqqv6w?cwc9ZiW(dCK0Sr3Grmy%TsT-8 zANrec`Pgh*AG-p$0&Mqrk-5@a3sgwdwWx)722V7DK|}gjl=1eD z8$#tVPh2qG>9F0x;|DKsqKMP>$c~q84l@iK&$?sPQ=9?~FFFnEtW)oK=N=%*$6q2~ z>QR-$wb=qSYEXC{fi@Gl-JBynKu;SERUT61eqY#TVh#PT$3G(a$nqQn@wgB18vqd! z!nGuW1wXY25s2Doun8beJ}E6mse1b18&ox*e=QY zeKl0iYN>+}We<~n8$%iP@AgXIp<#cRx5ut+2C9!*7$PRJnoz=g^^|Vsu+dcd4bh`{ zdVC!dps^h>2Eva&MS0tXt%*_7GY?ZRZ<#!1c}BPIcRsa;0z&@~|KEr#fhi;~d+Ve< z4)8mYT5$|>BXY4U3yM~IirYJEzY=th^{4-)41=5+3XG>7>5%7fjlR%kvdnNf{u(YJ z+Ljf5IyQK{^e;e9WA@u8@0;Qs7$6 zivcEpl@Y};PI;=_OHlvxZF_bJ)Z=_BC%KHMi)#qgzY?u4=KXfk-u zlTqDk03%@ke?$Q&tk4r==SPiK0?x=&Zsi<%PsNpvnLiH7k&PZHYBE4#>RJ9yoYEJ- zZhrv@BG-pIBY{0crB~6RQS{O>S&F~bmGk+OP6e0$TKeM!^-i^@{;6QwB{nc7U4xy!;;ulRqWXTLgsMjJbWo1S zqN<0h>c2IL5+Mf!;p%hncpb3F8a<$`6Y;lQGo(zyYYVMU7s9>`w7Qf={o4;qO-S+_ z83Zg&f3a>{cq&7^l1cn{;_xSfhv`vAitY)BLJp7D=sj%eZ!mA!TM-`@OgY9U*NJ^f z<17KRp^>79(cbKg&@{cJ9D_&zk?Bdr?7%x^fy+mA^rq7<Zm*Fj))V6EBf)3yM-lqSVKiJ6v@&1pgk$(%F!7q}LPmePQz$u@wrd!Lul8UMV zJ5xe%n}So8Wv3|?qBH(m+Cp4FehiL{^=gm$3Wq#JtzSStu`WRdr!8Z7Oy2(;t%nOS z)ApZ^6cR!oaO$krdVIhSIq^u5`8pIdZNTR`8YzXpiw0nO1RmItf87c&4Rc@`aaU*d zc8}B8cq=mSL4CW{UwI|v7VK`B@Tz9I)&GBXsd5Nl&Egv7wU{2{4Fs`jkQzVGxKAeN z@(-5FS(z_4^_o`x(WA`^UuD8-@h&$72mFeD;c-)f85|1{luYC8nmm%E8ye z*wW#D%wT2+U=E_j8I5u|~mBaPIJo_670I5-2K%p4B zt^WMAx*@SXw0z_f0j1?*W<-P&4&o)?<2CjY@FU0uwVS>SB7oYW%o(vfmMt&cAgdi~ zq>M&%IOvra{T6b&^FMs{pP>QTtz_4CEbx5*>Ybs!RUBEo`#pGlSfR0Ac8M*WT61}! zeQF&B^Pj^O!J`D`j9|@{@YkDvgtCY&vHOu;DiKQ}V?_4JSW-;F8)hZg}X z>zBq)secnO1z17F=%H#UC1`x`EL&1@aOY>2*fT@GM{xi92rV7(kzgB^gohjkjqNf# zN6oZ(F}VJ||C<{)-5-0_!(;yo#xT}@3N;`I=!d;`D39o)ez4JEeguzMP0WDr)`2Z_ zzSmvNb?tiqIOxnNq`Gk3ezTaRDYqE#?kef^3NSH1ONBbU- zoA{xji9W(E7f~9nDLerVITutz(@; zR%J|!W0&D{i|6c&BrGQF@y2+&GX@5QhEq$hgj}XD4UStu020!4H+=1Kw6y^~T)A6L zX(d>ggAklwkVe9@eDk?|gSd40SH|*qNIyW+6P3aOf!zJNc}J2aXJ%EqQZsbH9W$y3 z@LGV|5JAS4&ua3#W}%@Y`!a6c-tq*o!hK(;+Wc1&e3{$&PyA4X=0@l4MRM;k(lOWF znJSFfJy*ie_!4nrW4i2|oDqR&_jj4tIGMTi*o#^$kFGeA5Sb^NCf12wjl>!4nfW%? z{b&?T_T@*y=6UgWhP{u;^L3>`))KglA@R7KFyDIP?hMTtKH(lJ89`-3a)(y zj!BytKa4!tUW2VkpzbS-n2V<_y?nvM>*w0n5M{h(_37!#XN=opg?M!mE73WLe7C4f zIt|!T{k^Ztb!}wo&fc&7E-}zd=~4GS>3_zA&v;ss*7&PbRywTJo=GB-kP83wrao05 z?(2q*8`;%emtm_!+DwZ@GAwX`z<>|1<%vW#X#aZJ7qIT%gDq;fAP6ISw8mKJIs8it zpr2g=)P5|Xcqha5!1ZPTE}$+bS^0ZOYVMhhTV+#3dkS6I=v8S(WN1O{Qh=uDH+(g7 z?k_p_CFM0(?QZdTaE`|lyF6Z02niA7U!R_CXWQ(PtF@S;IqfX?*OX`^SB+m?builK zEyt{xPSC&tw|46HhbZ&VuKZ>(m|ax(klwK>Cm5>ax<66>WCtBFFUUvbaJKHFn0GDQ z;;5X-Qd@iH`lZO#)+m*Ws@|{Pc$>cqnz5GL3~Fc)uCI?@h4L(homtINKF`X+>e=qN z{l$MTigQ`4a&Rtug}XlpBH{cI3G3;uf7=7TxJG@|`P_k+^|Rg->B+|cjh_3=(-DRIiUV0MSMdZCNc!lP*=t7#Gzn4#EtcOeiVG$Bi|*U9DfOKYcbmEp+3lZ)Y6*XY|X#SvyWMF*bFGHllz z%Tsd*q2*4UbXxp-Y&Yw7y2OLk4YBu&y7$57G*2#8BZUIQ0&xyo3o^2_A@PYfzlE`$ zzq!oZX}nd9T*~d=Pc$;jI+o|&j}*FwLp1`&S`$YONLRG0*xLK{pna@PLTy|&mBu#I)sn#bB8G_>}a}54ZFNlgXgS&K~Ajqv0rcgX`Q#Jk|FZeL+a< zx*#5mok>Z!Z$Z)j?gA)YqPN?*2yP2g3i9T5h_HKUvrvs}-FW%6jnz6zL>+1ni}zv5 z{zmc3NNVOZZ8L8SQqIeK&y`}5S~b$OXV*IxR{4JYuI5s$OBp~`eGZqsKDY9`(wW!Z z%MAgOVCN>~h8(hAdFgr9DlK=vaU+K^Yf&)&?5w2~X*S{9A7$k zk(+@5J2+TsiUqiX9HO#*^CToBlD!jtf5?4eFg>1^&B0#v zx?<|N*qU`AUOiA*X`JqUP9}0MB#1?p`>ctF`EbM$GR7q+XwW?Q-H3JE^9`Sdc&p6F zNk7?uTBe*yDi;McHQC*K_Ms>K9^!uU6K|Iz3YSAr?d!{KlQ3!LOdRfanPI@OD*?+z z=Mk95G{7lWDuT5bO)uZmMIDJ|HfBxl3SY;tb5Fx>39H9*4^9oN|+)tW=61O}XCS9SL$0^w7B*`DI zs)LsKy-qc8ay)up(PetwHki+K0~M>8*1uM6tSSLYd@HN18E1e+jU`?Y<3zC-V+Aqf zNVPa#;Mo_;ZH5x5-fE(cUVLN@Uhx5eE9NEry??MxCyFb0&yG82>(pbswobXMrXvhv zhM?%J5LPO1$!|wDA-h82z$LLoiB$Ivx;rIKtxhjp{6XvO*2eylL^e#znR12KR*QvbaH`sb*A{VC0xS$6GSvNgR)=vQfi%e2X zOi2Fuln&2E%MK#}0Us@%Ay?o_A`{4Klp1``H3xCiNbGqP#^Yqil(5;;I%&x)v(R~&2(z)l)yk#niC3X4WySoI`EqI~CuFr=X80+n`#KtNkBg|)F}$$j zRAsD8vo~l%YK6G8e@Mr5wUtmHvus~qR1|033;PAaUu-+qmP`i-M;;F33>2_M0`Bp` zb+YQo-~5d|7oG(JGjE@$OW{?y#0TR=1DFJ*pZYP{ACEIl7ddkDjJlgU4RbEhu20^6 z&FAoH7MzTZ7+82e*jp||v5j{-Z(E!2PQ^LCa)HXtd$um6 zYb?!NA$935u()OZJA;zoNnOKj0RZ8wK(XD;XYGSZKJ(7gmWopu-c(SFL1pnKdBPz5 zZoKv<)5JARshX}vXuZ^`gu;d^rq}t;X1ZSq=_JpCn}M8Qkbkgbmwl50w*T%oHpTFR zw)xr|fGA?@f;Th&T`r`8rL3z5JR2rY?mez1Q)irtH8G&KR_HiYwNFW><(z9L8X07p znWZ*P@V=lZl{DWDam1!&P7*HnZCgxodcgwjUq}{kI&YsZId(R?#&^B@zy;EFM2fx1 z9}&knwv>7CmMCEZ8jTaewgO!myq6v0#@G0=iFcZNIv0+=qFmcDa-P!A+;f|cBgvuQ zqsStdDcG~E7_OqE!84uQbXX43+HwH&5eSfNesSlb|mc@&C<~ zqlmYqxFMCUDK0OZ_z%sTGtEp`^N{-QKQ-uJmc%nvPh~(>(t?wCZ6h)qCj1rE7>Is1 z0}Q8b%e%OX>maK`z)pD|2Ls_qV6fJCB=%*pVIRb0ZW~taTupB9mOm{maS#_PVh)1t zm@%Zj{Zwwd<0L=zH!pVt%fz~rz4P^0Kq>90(IRWm10(Mqwdw=ihDN>zz8G0swny8$ zMmyZ^TwJox1xk_LaQb1OEov3bdF6R4!kMqL^7fho^axKY1{`^e z>g<&sk30+#ZQnA@7Z4{T(%=}+`+z%LOB|k54EsKLV4GmUEhq-}-MukLba=CkKTEwt zXkSKi-B2K2+Aj)Bjsc1v4R}Y^zj=I_0u^v>{}|&9TnK9Dp?XrcG~LKCDVyTTExpBc zz@{AM!;Z?UD@>&0ua0p1LsAdIRa&U9+yJ~N#22tFtRjB^`0W7$&_gn9R+VBiN|*uX zZT{Ff$)gQTIWqvT0BnH&E+T~$g{YL=zL3(y=z@?!7O{*m;9nfw?l}i#srphuacww` z^nX1`5U_rRHBC(T>lKVL{OoqH^{+F#$K7Ki<{1DOqQ0n9nMswkBmVBUlkNK7i@%i& zs!j1}6VLTNK!7i(fC*Cht(yHEmpmq{g`pJ6glMtm**jeV=ZHG9SAp&uaIAu(vW=A1 z0O||quAnPCZ`B>1fU-G^CIl46vwrP&UH3qVCjc;oOSq-O$F+yW?o03q`lNZhP!4KP zL)Vlcuo)0_aboe~{^Z?~Z%Yr%6bq@Yo7sKBVL7QX$AZ#eF4kvUB>>hH1q!XCN&zpE zp_}`MX%Wb@DKzpHTRjaN_jlaaML3UFKSK06Lx>!KeU~|agIR`lJ~4ejszo8LKhCp` z=#$v+Z^iyMObVd6;%yVvjU%$NHit1gE!G9|I}0H34_PTrqH}c_@F;I7SK(8SbugUp zYArPfVaq|$;vNs1S3V31+hNfKKC*==eP6>VxD8BXQvhK0;GP!uuA%$VGzf+`upa;< zifSY2eQ zK5@4o)kGNnlVSHeVE+*6+dtO205Xj9$<<(1Y@D8{4kR6R92JT)GUraAkzf*wqu|=3 z_GL%z6Qi3f9Pv5%vs4je9z=NCxMcEoXi%zyaVF^lqZc|fYCWqlteOvodcj2$Jiw_% zbgsHJkem7C<3vrKM|qJB<0<-+b-8!`x~8LypRV+mhiaDm9CYDRUiAJ&X?;DA{}`X` z@}b*`Z=6NN@HXOiG%u6%aBmET@k>z#`1GP}tT^l2ZNNKetZcVWtj_$!|3##rdk49Y zH1_Y(A5kv_`N_ukP4h>fba9If%3Iy`ck!^d@Cus(ru%&x>VCz%t<4>4kXWoYS`$t= z@4r=|g`#KhnfC7<33f5Gv6|8g7jro| zDNeZa?P5KAk*$T-+jLG-8QCQjh~XIP+?ZL%on8P*jHl;z08Ixl2@m zbS3(`EPc{#*ovwF#|Hw3U`cVF5n~Sr9km-RPGkVG);elkn&}>}+@~YjTyqY50Bha@ z2`>k;=yk`(@ZudM1sq_wbG@p1xVfK^avp+XXcG^?urzZ&Lg1Uo>n6MrQiaI1nsbPE zG!l{?-w+MF;bq5q?!Pw(!_@#GDkO%!#kE(UZgLo=^253_%6YU%F8vbtL!iZUV7sG6 zvB9Sn?4S^|z10Vv_cu7eEGqa6Nk3vUQElqTi5Kh3<&K0z3az{(rQwU6pmk|V`qkq6 zV@hNtJ~)F* zl&9xcue#r!T8J3%PXk5_v+td+#c6)~T1edVM4HMvB_?zueWL?L^ZPs4;%};@O&!V9 zqpEop4*++uFozeylR)&VP!O^f7pNp zVIT(H6yns&qxymV$1Gp)RY)sv<8JS%TP@8tm69!r`*}%|0V}=q4|@s=wrXXYG;cMa1*<@BXP4{ zlgFELK1pltb?R(hcW^;3##-J%+u3-Etb`A@5UY^yF^bW?mZ)Z2!6vDM`cHIhP|-ad z9{jslB3VdN)Ze|1X=85Q!HXH4w!PHoRM!RxO3l7VeWFzN@gVCiI0IKGc|)WdNJVPd?UR{&c-Wfq)5t-NvJmc+nd*qmHgiGu_;%*fnFXBd#~1xV zc7Z0L96#6+5f3sg;8(LDM%zN^Z_uvn*Fe_7l|GaTvcLGI)TK*pHo%J#W5m8c# zSA|;OhF%;LccZNf)&dH-p!tb4I=uoNR42z#C*${91r(lpMGEn~&5rR*bExhaBtStx zLYHoA90{|kDhra!vS5p9%v`@er8f>^RnCZb8~N6vqS>M#Ifjn+hNs8L7D4&;zU|(= zostqR01*2iPih70%r~kaFBfBA?0FnGPgOX`O}XXd*)?nfmRQt@DUpA&JrfI(k3-J*U3JK~^9X}dGKH{1T` zf+yN|w*NANZ|o~QF=p^g(-Dk+IN;ZSoHYgB-oL$I{|*|dSTqmirnuPB<7|!FWq0@d@N#ld75UdrD|kERZu0&*?VdU&GNUcy?u-;T1%EA> zblZU2ZmN1JdOU8X(e_Wn!B_6&k>uh#6D@|^*wq&n!LHAX>`^kfoWc8fwNva_k|*47M%eyf(uV}5PhJ)`X15|@ymtE7FZ zwrVGq(%`Z2hX?HCIWqL@?D&0Cx#BQ*V1VuVxJLoPLmqi%*KfB)eLH5QF*2IB&zHA{ zYSn(*UccEi%r)}!c%(+V(HJd^oU2dE9l&aROWkDC0@>v88(7lZ7uK<*TYBDGP;};E z;(sEO-q_Q1USPefH^%}1E%SMs(!US}HfDK{Z4E|~bR~*vpnHlD3I1{xIHj75#nA!J z*-A6zxepCkpW4@6S_D3_XVc>LP^4;RtpTDfYuRnR({f*13yKj}VK`DL z)(Na#yvFoLJnQxA9xRs%$U951-Q_viSwOpYg$VLGH)9Rg&I`b~bUT(QQ zL02-l_;e)lme|o8&xX`-6I7?oigeJLhqo$Z2Qd2{tRkjFn?e=q&J*h|v{b~Uvcf^~ z!)(2vXK@zG{6fof`qeZFAxQj@6z?+UFl~+7>Mxq3w$y+qP^#(0)2};>zOrD%%oUzL z^Rbl_JdU^v9Im+(Kx&XmAYbmnt4xb(;)FH{!Wr5u^o>EQN<@r-^p?gldpF7^rwJBYb-YwYls0ifl2pEzOGAm(9&Q}Sle(~BkN@=MG((W2ed>X zK0YQnB%JCSx6NX(8x!n5##?QfxfAbv8Ju=^cyG58eTTj1 zoc@bW-8=mr$V9z=(g?xgooT>H%By>v@uIh(8%<=o11*|#T7eCY<|J7{&dUat(H09X z^Ko?7rz=seI()`;QhTRY-uX+_L27CFJ+=f>Mrqd=2$yKLop`_#Pj_eT z{DL4AbO^VVXrNQcFE#Oc9ft~}O^ih^JXvCHHlqH;j4Pr%nUsituV~^*=N){ml$jfE zc}NLaPlooBH6}7Vw>XJR@W?$cbWqmeY!t@%0Ph9b<5qp-T*(ImOdUx3#6G@a?*wR% zk@C8__=5scE^RyL!uyDzPA#=j%b4kRoawaI`%jdVe&Zm6x53;2M!fh z!NkhWT4i-;(n2scN7i)!701Dd1Rw?w`)XMxppf(>;LX+FP>bWg;V4Qu*}uDS?oui< z7T;_a3zkrmkjCHDo#*TiD^@Ya`^=z3e}7Fh78Hr|5z=LIcR-^=s^dCs+Rvgrd!qbt z2IxZAbTJg$lg+2eG%6=>>sJBOdU*s?r{;0~mdoe~nBD6HGFh}lNrOiFUi+PLQSn|g zUAPz&0x;J4=i4d!E2BhKqXCdoyUo-Z$-cQLx$49?@sP>w$qKm~}i*DE-Yh$c?#nd@tT{fhX<=G2^+tdY;71kNvbtPzB?JKa#5W)$d{z($m$IKD(zmu(#q1L^nya*GhyxG zy=K!*k2kB#1i{QnR(GI5oKCq5FWo!`c|tfbxm)6_aw3dja?t^J<2Up`07Pj*uqCUO z`<^*XbZrXEI{1I87F^grwAEXpXcY;4;bvDp3$@h)tl673_xI#Gea`GZ#WBrDt8zaK zww0pJ$V*omt$md)?tB@ztZ~U&DeMlfeoqv*BL`3g7mQqLz|5lUsr>Hh3As`F*bFGE zxpN;aPq%}@f-tizM0Yhf56`^QCG*jDhkO7duyPTM%VF^wphoU>Zab2ce`G2F?loh7 z4>!l zP-VFdx9S;s#s`{Zi)Z-u+JNi!n3fu+g^6Groflz~M!dA1?@ew~r6+G^n7ru|s9hh% znQDB+Gtw3y#>Ih^2&7GtKT})Zcf-eCNMAM`?jcT9SVSfbPLQ?KU#zyoO}2S?V!pz_ z=Fm?p{WO_=Ti)-{D`i>7HqJ`S^~2_Bi!?F~)5dQu4+F8~)(&0h;=+N$W`?j&!!W4)W+jCE{BNyN@h|HjLU990ZugyDM|N zw<@DW)UkhJD~8eph!nT@u1D=3bk`yZ;k$NzGl>1JOf@jikKdM4mNSdWntG#?sEg(~ z;+aHtcgq*BB_C8_-`K|ka6n{u>pD`uPgmVv^)4pwOq(Azt+p)c?fd#?UpqM9_w9dH zajL-zBaUqHT3s*KSH`{4ZoEY_?}GSq=oZmgkI$F~c5M^}71K)9RBs6rUD?XccW_2% zM4F8{gZ8#rWxwajS`bANbE&Pw5$J8CHz)FYV<~M$#PjImP2K@5IjhJaTmd7B+QpnN zC#RE996%>mvp}KBYN(A@7iw9{^NGF7y7LI#J}tJPl92F%y?tZrXpP0l{0nkibAc+S z5Y(+4NN{L4XCzh?TlaiR-u~zC6febq#Pu~vnN9$(TBQZBYY^zcRq%>_4~p&EWv46O#Ws1+Bgz07#;5Xsp2MqEA# zThU+*jYBGC?f6@t@+;pb8x>gw>e3ZtGcc3MTL(MHFZJV`3Gw{tSQA<{tR;irg;~Hz zdw8m?5)U|e0=92(U(wN(5btGw6V;mFKms+T0)kOL7oK%2-GUE&h8OvL%GJwsw;N}P zrb0Yb=EB>nleW(Dd9$-E8KobEC`!(os8$~hJU?KC)-;F|xr|o;>EFI`{7qJ?2JfMu zEQz+^RCWqsu&!xLfTQ{11h?E)zUP?ob=LJ>-I8nJ&s~PYaWDt91(ULz6>!WPk zj;fP+j`5tX2^tX4Tj{6vf|A!4DK>&z>xSarJ6mUmDx}^}3)qfWU3A8dEOk#Vc0lg0 z0xRSZ`RsBA09syYWofCIOWK zuPZ}NClzXGiybwHoNX;`C)QZ@bhWb)(KZ?Ti?L~}U65-+HLHz1RZwjmu>t^^^A}mK zMaXy@jaKE#_wPmkhl8`fT}hY#RKR1!=$O61q87%9{c5g65fNv!*x@HH$aJFXS;=jK zlzk;J=gQ$SeFh2Rv8VF_HfHakLBBGAjqGo{#QY&fshF_K4cAg$^L|F%9syY` z_iL3llaT}uh1N#sE-rd9)>J`7s-$zrg4kTW#Q;Uy+ZSIH5u)w;yG2FjDz&8-6ZV&* zmrOMb%=-il`q4CQ{18Vfb20pBazFr*D)oZS;PN6}AkE=RWss5dsYW>$q2JwWvdj>P*j6EM~7DMr;A0qMn` z=Kdc^5bHF=pvxCm6-&lZ>a2D*r2(}gHZ(~+>o3TVLCIh_^L6VY^hU=-WLAVw-yWER<0i``|7;#fO83au2 zhH`gLtTaJg*=vkoEr6Diz-IGunReA;)O9=|5OdqORK0!UrU`(XNSH8Q5s#HwTpdV` zLl51K`+}-}58c7Y0By%V$IVKr=A>fGKArxPeV5=zS$PHyE)NTHzS%DA*@^5|KtG2g zL~0V`Z=|qg6>yCz-sDXIFL*2*u&Oo`4c@nQZhvi7trUFag0rB+ERFm7nQX!8%6KqY%1!osj6Vm=;Byqkz>3j$MrMD$>PpsYNK5x{`|K5b(c5!i_nCb7jLFIQb(7$r04fs z4c;A7QvPDJf)cbGt*17bP40X_2>GtgR8V&#KU>>^@_cuk>=c6VCAY!Yg10!Q_d}38 z`fyeF&~cXgK9l@w2&tnNU;d?n?hMDYdX)s)%jj`D?nPTp4K5pVCyUh6#k-Rq-)58j zC`?9aG=|tTx()q(ePXTcxc9{{6dJcw9>hB~*-z{TpVct>om0+uu z$}(SJAj>h!ayniST%3A3C*9tBbVOED7-e76rTCBW?)zR!WSbi(Weu=6{ftEz_?9R1 z%kUx%*XY72O7ItQMCmX(=#^crA$V0o-hlBjZefhvRANN2WNfM{7}c| zVwM9i}WFYg)nB+BX)e`5D3NRYUSWcs(mrvb(F@U&@gajf! zMpExG?J)s5Iu`dtfkBpLbP8zden_j>Q}$JixD0oD^3S!Kc_T(d^3rS?d!F+j`<%VmYp%8C8e_~cTXFpTxGCW0NEVp_F5Qo93u%Zw&U7j!EpZnU z-3BSjW|g^yuO|kd$P^#dws?%GwH@$tTY>UyH&GrUpC|b5|7z|(z4xG575G9a)hXx? z*&`&?u}&yb18&YWIbW0CUtwoQTdQ;sM;p05rx0=!L`90!pgu?6iiJZ5yCEV;at>9&LQ%3ej|dI> zL?;U@T}vO{EWbwREFEcttwfyHz6g=SWYF5Hz4)>_j;qWCR9V7E&FA)S>!Pf@y!ed3 zQYW9-&MK`}duEk_b$cw%W6@$bkR5dX3B)vh;`p)wZTh0C3-#prQ=;;j0{|4`sE1De z38}Q#$J9q0Qk{!Ux!n<;bC9FJTq-f){-wj{{WVNlbvE4b-7?CRaqA6fD^qM~8G?~o zm${R0z5+Z**R7iPE}}oLa7JA66VPECrs<&AEfgmgD+r?}4u#tvDGMW@Khc6lYYv1G z{|Js1Up~bZ40*^ui7B!|domK%@L?_cDsQ6*o9%XBlkFa?+`&R@gu*U4#+Q<#b%rTxT`0Qz#KI`7EaS2Jb}K@^GQtSPRqpR~O!l zLizXG3q#+>1noouaIncw3JV3?t)o%5r%|Q-06@!Bh>0S9>BK+17o*BLtjZudTho4g z)!cW99}5b0PheAWu6c_!7xPux#lR=x;lsgB{Mp4`+LUfi&> z?#g&GW*+apIIs_BSy^32yww(q+fde368C3sLZKJex@!z?DW~TECVV7UWpz$a;bx$9 zEN_J zAZBA{H>wS*z_G~(B(VG|&KvH!zUP{gWmuRHoxs#DU%mtx2>yob3%TGrwA~SE*W2m` zDh-^_c^*-rF4vj|e-62Mh8^X9$$gJ1*$Mq#{J`vVT=@yz9#v0x2WWwH2cHOuLAG-zm2EBFbFg7)_F#6v9 zfIC)Cqsz>l02n}gv6)`GFU%zW`bP_kJ3g*t5u%J0V@+fRuEb8fPfH$^UcAk4M6m8J zDGT6TA86}{cSb+loai)36G^sODbSp~S%iaJ+6c!u{;{7LzyekeXD}bnKa3dd3LFPg zQp?eBgVlMuR_ zOPv!RP23e{R{SZ>6O%it4gYl+QOLVm8@$!TNWx&>yFIKS9q60t?GcHY5u!2RBo2}_ z$*i@~twMH)>9gTz>lL~+`2ud^r9Q$ZNvBbsNh7)G5{lLkwfs;y=}A-@fKbL@Qd|w$ z0gLo8R@ya`dGL^5PPDiMxf6Jyjkc<-p~?Iv3#C4i-k}!edBIDv{M=!y|1Lkrm{+;m zxt_txSSyg7;LnQr|CKURD(WKvr9~HA!-J^_jO5bYpD9t#D5a=P``eiY*mPCHR!=i# zE%Y;(KwiaFVz`%fSmOydADTprH973@A=P1dQ=DWuv{IPD^na4Q|Rt$+p!N^-hY6B7y>F5eUXxHwI*8d3?=sX6 zXAEVo;ajz5tu>4h{(QZsOU>tyAKiw=jESvZ6O4zU>FEdEV2x-o)4(pxOcnxxA;cZP z07VlH#0GRZ3h-%xgjNU!9a-En-dAIgVegOSm8}4llV~l|fdCWmRkH<$NzXr*LEYrE zN#%H3f`scbw-CsHc{-=P8aSHm*lwMw!RJMbDzJE_W zc<0?YJF{RTSe$inaPBmoY3!u#R4UA?!MK1A_OCS)!WeiiMmxj1unDw^dqQAe0;@JM zsF>$ZH*g?w3bNot6|J^xy|q#=`}G1t%O>c=7YjdK5M!~XGa74~m`{=0rTj+H%m(YY zZPhEdMxY!wR5|I8o{eF^n(VrFY_Z-BiOzLwjBS8bm$a48~?d6=5Bs~v*x(!xE|XsDM!HFo5!@^v{TV&)YK^o zLI|@`-*eUCT!|BoOQoZ!R>b%bE;AVOK|e)JXR*1ZjM0PF$Vm#1KB|d1|GaT9oTeOL z0u)c4_|$(buYl?_Qc`7EUDwhZ>v;+&aTMsHZ^K%)w0koJS0`$8$}XzumF=KlRLfM! z@H(t*;S#^b5PS&Ak~0sbO?4==gs~r%$*J2TRXbpb+NAbpEhhJYqD{@T-89cmbALTs zuFIE3r@p=(Jd`@$AzUXIjX|*GAf}sLt)b1uVPA&VJHv)o2if*(9%A0YUBTCl@gW&F zbxf?|*mUQca*M9Kg`qX>`jFuZ;Ifrx1g$vtRg+)w*s?xH4SBg5`cu0%6kZpect zzP<2CAp^LY$pQxi!WF{*)!`Nq!VDLbo|HGRRx|`J7TSso1uB#Py3&9L|h@|uJ*R0hpaI>(#ZFRMrxR(&H`U_zs&EYxf*JNvL# zJ;JKHAK@oh)ze%d30DKP<@1#D%hlKMr}FhF;^Y3ab*iERxi8jFai^5O>9zN;IO3!q zq(7*YV@Js;3tRV<30Tfk!i zoFT_ouX`ShdjblOP70}|W?sx}rph&O(GcBP6sMT_!ivPiMw`@-7Y${H>mvtqwQzGy z37zv56t)6oL2{xsmHc}m2!9|0+HJVb2R+7Z(B|)dGq{&PKMFkFE;xzx6?lN856t{#be1`rwCuvZm5r<6Si@vxeon23n z^~^KmV>V4HmOpkhK%u;6?h?hCxQG=1)!2 zP|GR&@7nf7da3HTT<(68re#V6W|v13ud8zcC)YO_PEv&)uu65fxaXcgSg*N3FM7vBvQiC()8cNywFHEo}KSb2a8|^!FO+6yPM-!PmArF z#(aJ^C?Z!1ocX65N4&Kb8>o`CvaoC3l)kG&Ijo@+)xWO^^&KB?!tQDT*G+l};u(KU z@QJ%(+HPt~<#FlDYVvYA*e()B^qfCSv{;l!G;YUVznofUx{E^>h*{5so%(gOd z&?P4L3=Ez2ytRp|P!d5{^M}|=6k`v=+D~X1BW2V}F2;#HLnU#p>?R9|umTU;FBHMc zXYdD^uw^v5Er_NW2wY&MNy>4mZw~fFBBteUb6YKb*UX6tMY)X4mgtG%L(qHY+D<~; zK!O84Okzm#=M`dkzuO;=3+b0Mxn_P{f8cdgDC#g{2?qhher1=T&$yTu9?13LhK8AH z8xDxXJExsE_62&o@K?}@nOO7I@yJe=lMB~x?&JHv*_Y1XCrCOuSTuuLCmR3_VAek3 z6V3&CEB2`R6&tD;#_d)>|-N? zeR)t)!Z=x~vM?jmCXZ#9dD#uaW93yHg@+FU?~$M{CJo!yYmpoD7!d$zkS{J zlkZPH{{Km$o?84D8?h9dkOd%%zv*Efvs7Zb1c1rE1SxMgpCe7y;d|6HS7%#PCbv!gEtSn+b7 zRF!W?&oKYD`cW#HAr?3;A9LyowPBM7^f)tercm?>(X4Zy%D&mHYB9ssJzMeP-cuzm zuD0Bqm&0H^#n9Z9@v50@{7aGeF^LN19uaX(*!5>C$Tk!&R~^G)8@FSz(GZ;}c&`w^Q?{oB`^Y6;Yogn;%o# z>Hg9r{XtA}DY95c*bUH8PGgLDM~35=I%ilfMk{KGX$N10IiTt_Bin;d^xySZ6ec)z zYRl^JFt;vEMqV`7;=GlgmAd;QrVyh6p4G*b{~vYgQv|Hq!s*U^&$xKj+}{+?^350n z0P29+R&FRuCezW${rBX1*k-8(;l<{ABJacHi?z!x?WQ2j^d7TRt-5>1C*udjp(hXt zk2d7*lf<8QfQSir#|U3Yw82(Qc=3rXYU{ib4b)5k>F98~ic~ru@fVFbEk7d&oga#8}KyDxV9`8x!yFt)C_%~qlC%&jjVaHm` z@}Sm2ByU=JXIiV z!gIe|)?LJ@e@rN3+b_*mNG;Ya*$c5yG)Bj#r`wH8fFhdA`e)TKeq&%@Yzw$J@xOFz zSPEA8fHNaO%_W7s?fAz2KrB6enW28+V?luz=EA1De9Sfvs57tVtXi|QV(>X}s>k=& zt~@Jf4-ikmy#Y7UL&m2mLY}=5_HW<;!fSF;?DaGjk|zU^_ig}H6MEOPK<>Qp{C1>~ z%y_IC5>^O*ASXb}yims8B%%7TWe=;ut!oGfsL)`M$6eB%BcN^c^7#bu*(dugIAkb>RwJ+UY&x&arydCl z3yU;gbWQ{bDS4Wko0FYS(rL*siM~-D+iLOa+vtca_ib-`I5S`UbU0x?1!0n#({r2B zeCp!3bvEY%x2>wOMM*V`JO`i~8P_w#N#|!?cRU*uqGB0zX<&U6Y?dy7qv>*gbtQl> z>7OOCz-1my5rWE}?>G%n8W`**2Kf}iKYHQ6H}+Lo zSZgif6Px#ZO{k7+NZ$S+u{mRsOQ zf*jgGjsm1kQ+eh!+}sgvmXFR=-glzNK4*PxhJfXqW!xB|hVDCQ#s*Y?ak1q;TlXEY z)*5btb1Mr~HPXNwrc2OIWY0vvwrEH~{$B2z6!hc-$fQFh-clgf`uu!vMhvK$8!k2| zCnitmSu)V~_illF6RYmsZVqt%!MkL*Rdb(q-^CZI;WwxevbfhT=Zv%5;pH5btJUK? z(HrG;7T-{7w}ialcF>_R`al2_D3N7Wk1Xbzh>A&UGK`Gw4+~Iz$a3^Sp>i^d{>!lL zFGUovVga5w?X1VBJlhX_G@p9{wwB)!)VYcn*^Sp96NN* zi+tw>+*+@gwj1Q9!drHsTEgR>30bUO8=^<-bWodg zr5V!Ae7h9?oaoGU2RwPRpAdpVKY7sL)aKK%^=7Y90~*vzZzGhid!)NzBb1&fQBsEA zXHzXBXBRdzbyo9BFiLDXudm;heXjDN$asf*IgeLig;`E++Nv&7<$b(Vfd<9ONJm-2^atuGluG8v ze~1PKS}Z0&ce%yOTzf2(MXS=qcd)AXp zt~+QXC0rhm^6v6*xe0BmNJC^VVfguy>THeuIAQ4#^5F!W5sB9wua9;GVwgmn>Uo&6*kcEn3gHkXr0DE|yS^oAD5(CC7%abFVfuco2Fo~Fk5 zW=7wR)39f4*e^6lh+50&a@#YCNA&2=F@Hk9n#l7t>%KcHZzcm-lY?$P8dX{^yoxYQIwNU!>OPV7rpb$G(hRbFC?F{>7(CBuvzo2Y_BJgT4KH-G?Lq$VNXdxj z8Gv2Hc#It*ghdgvJJXgmojQZ`1hfEpV?H0ky(vm;Vd`O5D%rPr)esO7I>k zJU0pfwRRn4Q~0log{!TEh5adh!C>XnC@ZYT;~8W_>PK+79R0lHJJ70qdS5FD#r#rP z7LG(by3@{!e4GS5Cb+K??MzmtV+;UJ8|@Bm`<sWh@v(bG$M{~iEAnS=W+3Tx1fS^obC1A|hk2i#Zg8g~s$W?FT zV|km9($4<+R=^!hxVaC~-$VH)p_h*F)4YzfT)rau*UEpgKAC$QRGYjwB^%NX^slc9A@k4jC2LY?<-C8ZnU1 zfvba#ctrv>7HO>}mDP-*mPD{Rk=O-#DC$15TMrrlE}Dog8J|6Hf5hAh?{2+9Yfci zBbdnPpo6!ySH2R(Wle zh!qm--d)=BbzlaMjZKRvP7dmeip7WauG5FUOsR!Y2`qO_OSeb==i(e)@SZ~u3OVzA zz++(`U4$eNt=G#))EtDBg{#8R%hAqD?egN%V)VKldF3&D*?EIVB$BEn>v;fTW*)4^ zw!L23_>BF^!}DG?v`dKQ15`EieN+LFiP zp9Az$%AJWmW~%!EFkuA0yRZ-To6?*Gw}rJ_bN0U5n-V0;;ylD7(M%(faFx92U|J7d zV#H%j?ZNOJ<9s3DNZi!QiYc&tGr;ef!Fy|f70IPzm~lR-GV{ieN5|g~Sq+7ev8~DV z0D}^RL9HkU&nT{OZ%a3A{f$(O=jD!d(fjXQ_KKrk&aL@|7O}qwrbnM!GX-H`k)t!u z0}c%hT!9VmCFx0P1vNO6yOi+kduod`*s+ytk>G7?KOpmnAI;lzoBLwrqUY0oVGxt* zb1gO7S~>d}+KV9}`gyc=j(sZ|#C|3<;4Rp|8SG)Nw&zsSxSG8~K&D2o5oZH7GFs)- zFl!h#g>je|Ks49&3+=tnfNxt%iRlT?SbEoB+{Lit^&y##gX(WVGAWE>=YyS5E<|I0e@uk&$x6Pzk7Jl7$URk6>TzBNmW1$xVgt?1aS zhw{QIo<~YWUQ|u^5~iw**>j5ZH@N6My<$2h#Y9LqQvB9|H54aFJj$Gh_&Vxq@hRWJ znYBhYspYFL3#9tUt;1V}ndVqbuZapyM#4qV%hOc+XZ^nixrFn&Xf97*El}ZShnEZ? z!iWq97a;6>A?b}$7FqM&qhct(qQGU2`tr^@8-h@QG9y8)QJfJLL~~8z zHNmt`Nwh}9VR>Ef1A<2<8vg^M#$w@#>SrDb7=VBdAV<#u0HA!0=LsC)lk(CCaf_S+8Ixr zU_W%8b1H^}+RxiTkVL4s7IRH{G0#cjEfga7(A;o2BqWb*k>QpBv-D&46*@L{iq03t z?GwTg^?mB>I+68t1=GTCc*Kp7QajRC0bVMxUZ1PHg&v)da0?Y?jmq>~-iKq-)oe5V z7-ILooXh^o#NNYNpet5}+hy*$L&J83c2u?_ox*q6cX5Vaqf1Hh!2dd*yK;ye^Z$Z9 z{i9y!M%BK_AqnXGJ|yc?-n%RO=G71As`&YybdJ4Rje_1cfe5o4A@EI&R1N$q_3U}E zy!)O(_2fWR$6Rr)gQ(OgIU;LihN(ieF2Zu48}g+87q`Q2R2g!qCQy%j%6xn`TU#Zp z;%SGpz46+3DX3bl^XJM_a~v1*J<0=y2ho6NhNV!KZp#Ii_Cbx(FQ;aMQn}wH3k#UL z`=a|~*cflO72B(|)oN_mSzG)2>C8()uk{N0M*}9m5S9&n$_s^m;btSdGcqKBN1=s_ z8EPb0v1^_l)4M4G-5r+N6^@3UbkZkjs8t^usl!$%h_9i_(v>`}x0# zgoP^#kYj`G+${^j7+7-q=QV+_1hDB7W4r$@hz=Nv9i~U_G1R}bbIL~L6P5bL)8ksf z32;|K5IR-C)Q^g9WIF}vTIUGJ%@1%B+-5^!WYmjIe{$$3j`tI*uM#)H>o zZP&||R&&jTwh_y8Z4bO%oI;af;U$*q8Tq3r#fSZ0sS8!h?bFTHf6|>^C$1o4+I^X_ zofCRw)e{&|`FVSiY1zBUmKQ^k_rT2Zu+0?TNxd2*HYHevv<_!8TlLu++WKY{WW@)M z^-jxbqN>3oe~VF*yvx8>$MaXfi@Jf7Hp{|pLcx;5HL4svo6F^uZLYX=u*NF;=>2W( zI;Yvl{~T?f@TpAUc5F=g=$ws|BpaEnPm|Y|$EcOuQ7^ZiYn;16z8pYkLSHz7cbD<7L zhnTr16`|l>F0s^l@j+_27eTgDlD6<2-lSaW6;qSqOPZ=hbAE#*da6hN+txb7{!Wh*Hs;D~VhguJ@P3Au`z(KqWgiK1f$$x2Rh zN>*D^Y}Hrwc};r`(I{_!ghvcrbKV^Io*{5+c7F5fN0vQN*Er`h0YBP4E@hNN<{73; z?O*5bG7_r^vjI2ZI+5SYJge3kr)<5~KD>V^^DwdmnTl)crF`+xk=Xh2z#PrC*v@A=#*gXnXJO|V&G(fg&Hn;A zS-2REJJTxt8}@G0i=EACZwzk>+s!p_D3C`A$pz{@<@BiJbs(_{4=EM|f8$v(1Nb>yovTCCg?PA$j}i9!F#+6WD}PZ{MD=ZB>BoN$YQoV<3^*#E`z@8S_j z6RwZO<63WMW(sU`DJXxIA*I+u4Ruf(@K<4;E_4rje>fbziMYZ?%@rs6Y8*ko)EZ02+2?4GI1?$v>quWYAm2>$9B-IQQtGbfV0x8F}g( zdxNEG<-XGo@GS<_qX3D3c=^*>AgK%WbJhv!%`w=SZo+bJ`$98tTwvKP}l% zbO1tTfdgOs7w7uK4x^c>vrLMKx!al%OK%lHQ&5>aZO;9M7%07dgZ=bw$cKIY{c*tm zLE=4pHIYM7iIYK( z*|l?WffB&O2R*q^e|ld{@ShFE|L%1K{FgTnp!n=X>KSz{mxXOIQ*?II=?bFF(<}GG z0bqLw40-Cm#1_y+jt!=kYa!KuscsCJ_?3m^?)r(f-N-Rd-=D_w$4tN>ZspW$@4v9{ zwlwKm(fv|{!pga>`DSl_9^?89n~3I^rb-7ken!NAdLV$7H}QNIK1)hU9;rZ7EVx$^C;PMVspLQS~Uh=sCt;Iu_{` zUCn>;-&2Y98{f>kDf9o38o*D{%EDG~aqlqK72F)^bLR1a*LY$lRSrS?e-s@gfKSK; zh9(yv0{GvZR;gg=(>^w$Vj&^AaJ#R6$|+4MX(RgIHvqNc1&k`!e+PY44weh4U{Vow z*UgE$sB+k9u3)!dS_ymUkc}wt5|Fz$D z>iD zhFi^By2Gzjv;LWp+-Q~0oI)Bs%k=jc`kw*xmsiF!k3U4<-|wv*p8Og2K}L-EQWGzQ znzGMh439jGZq|oN9pK5oJ)Iy51e8WX{#g_N_aY1!9Z@-?U3Z0P+j$yeO1rIFa=b_f zX7O^^d}&xg0J_>|udz+~_X|J+L^!skn&$);j(yz4sjfG5ym77O^g-35B+vMOdpwD_ zcZ5s;U&H^sf^dLwoj~0MMokqk)u`d!F6wVr-u7brwdZ3Ze(>%7H!mONF)uJzGAYde zb^!k?js1lk{ zB}hxY1?ut%Q*sDz+ap;F7qqN`q;yWPf8V`Sh~<%Xsd|4tS_ijmMBrXxASmQ8LI+BW)M!*7*gI9lmlcw%09iEe)FVl}nrMh7eemA7_ z!9C+0SQ{4hd5);$caIn>yRQ+L^NDI~Y;2TNRBCJ-FZjRPCuU`l?kW4XP5k&lNyVwQ zzM-&_#+G9{=V-?+xlkkX-fuzO0%>>ujL9*CchRpQCpUldJA25kMH<_X0t3yxL4TaR zyoD-%%xkqBbbJY%yczT2}5s4Z12>q`gea<6o;00hl@a>F{InRvI z=++CrEY)q&Kg7Gp(e*iCVmmB8(w#x}{8VIo-B;-Q-B0J}i~mQGPpOB**7IHuQ{1M* z!E$9=W7}W5BsP;qh8N%?&`2V$b(z}^)unin-Q|Z#_=ssVmfvcYHEh~T$x6S==Q?df zI$NoBYx{lZ8z1>#+gzBEkihKF%B_8a3Y|inYd*Ye4z5G(C1g7q-8S&q^Pn57tiF%Q zEqCVi+=pUxKrRm0FTFW`A*jqm%B*~7jv%p!M!|`Tlke}C6)|U}l*#VdM*s}LAggK2 z|E@A`2w>Ngc8f|o8@!@Q)Hf$7rBZLhC>1D96SKp{dYaZ3agG@?UyJu=n5 z(J-owr{0;Y*+8@+7-vS#5g7Bo=E^kKhkWo7z;)z7eak-NeTen5IJ=XY0NlzT~H5iSf!`CEDCTttn?9TOVV^ zsxc&vNGN+deV@}!snzHO{*d}z!<+w7IaeCr272})s)>7JIu^%q_87h0i!2hvw5x|s zNJvRlJNo`y`@KKSv+!+i?P1MEqbTu?+mk^9c9+V{4|6phsk|DxkGk%epVy@`&i*zo z`a@0w^IS(09;xBPTkge0P>#cu%9r=jd0?#|wS8=<2hUKr$yV9@sM~@)SDD!NV1?iX zS1t`JgO`(`TM5HaZ!?+<3!nPfF>`A|kC`>AhM=7F4okbuO(BB^^&5gCKTvg(-3kp4 z=PT1AaUWz8Y~Zh9DzAqxg$kRTvLd~H0cWCJWe}fkt?#vWifVb@w2u(&uXiz8psiF3 zKe32p(6&td$U)0HXZ|z%siJ`zy4Nl9_WDtC&!2A=N)U69Om;0+;jlC7{Y>K8Ox;hs z(gCV;&N%;@bkNSj2@6vdEVOkmSES|)xf>8VLDcxW$P0U7sqw}mD8+;@^_BLcJY@_w zmW|oNx?$Pl9gAO$gj((`cocI#Brv^ZW=hc`2TIf8yCkBedL&IBus@WXEe6TtXip6& zH<^P$sOxXA`)ejSDE84AUb4RI_z24ycnizvgZqtudBPvYzjpw)pc83Ek)4NUb}}j= zhWj!&D5xliM~k$KG~dwZB`UId$Du8bUA93Q+Bl^2!I2og5{ka^^=oeKX0BX1%{j|D z7~ywY=Q#mFzjfGjto5C3?yaBzsNrvtIHp!YT^MG{?tU!L zv)7tVCyeOv(G9D(J)ZKbQ77B#L%Qd9o%E3xhEy*Y9M4VH=gb=~!fgB-{Qwi0jm92E zN}kKvtNo46vtGWyext)A8eGp296KGV`m<@U@59JF-St@skL!PuM<5ZS%o6TY-^4^} zI8c$&;n4q~F0WpTP`R;&23h|!mqKs%YX(!XDIHFf6P*r^xen8;N4+R=R(e;WzIMQ^ zvQUyO!6u(}=$BwBa-n_t{9yQ$joEk=){iy=2Z|ytyZItmb}goKq9Hr<&!IvO*E2#< z6(8R=Rw*bn=!;o>8BoeYU3bd#IpM@A8#diOY^ieWclM|C-T!)Z43)b94a zc65+`y&$g1ZtK+$h4NSaixa_WKNj8U*oqQ^^24}Kj>^>X8Q)4Yq({pJ#QFr4H%2Qf zPI?(e8!%lz$hIEurkb}pG~cCR%o+GxX5R_;e(knwW<};%2Hg(BazpsJyRn3Be<1#v zs803pv54-aE4j3eJb{+eAZZds@Y!QR^*sA~*nVboD65oqs&{m@1FQYdp2s^49D`{B zqlH`%ora?kog7(rDBdmiib8A7{ZfoW%^Km%-n+80UHuh}Ehb&+c%QqT z(8qcSZ~9tm)kKX9Ut#g)`>)+ZF&e0&dr4{JgaIB`q4ly$_4<&G>R;qevg5jx#1u6D zOB}6$E?_)wdKJdA)tAA?A6#i#d7W ziex#)IrD;)aiPvNypR_KdvMA-{hNnTo}Y-<+X4TNm8X*^<;gs=@(0=kYu82XTLfccc&RS=O!))=C*eYQ0l;c<)7F@k z3d71k zD9tu?lGE#w24IVLmasU|*p5z;X{bA5F{)!K%1*7A>r9m_Xj8^aT*79*VA!YyIPD;X zLhi%^s!8%6m=n3|zD1A`{k%HaI1O?3kTQYNC|rq}49F0m+~$=ofHUNDH->!-=a=!B z&aj!L;A84`{S`mB?$0v;LYPFAft`=s22M+`9Wg=Cr<;S)#anVzp4;}xMf-2_^GUqX z#T~tUjZLfT5Ln>*SwGa9ThBx;o9oK4O!L`N-+Bavo{G!P6zR+D&J>zq3m4Ic%mL;N zKfV;_f^NCYmlu8u0I*sz#zL7t*4O8N*68Xp#%FwoZ<4#e3HBd&QliSgcaZV>Fk^;czeP+<<)x;x% zOGm2GRil*Eiw;@l)65%Ap#YSr@kVGo@XpT8MR=nQ6XpZY-B!$Xy);VoEf$Mz4aWHf zr|?K9Bhlwfe@w+s z+hL(B;P?~9nq?n-#WUYhVc*v95kC9Y4>uRP=6dfobVBGPqKT)vZESLlTHfJ%e`+O03dky+xzo~qVG8;CPVJ+&zR>m zv#!p|@c=^8Uzcfp4gp?WVCr;5d!x&U$+bWN&bZs5?a@f9+9!K0LJYC^^OVJXkHit~ zrBCGLvXMeRN#n5-z!^#gBCiBsL$|nRdQdde>yKusKEC+P9f9Yb*W#jU;C=hCl@A1u z!h^o8soM@2)8T#7^G%R~@xR9cN<~5>xX{vFD*U6nPoJTCGDxkvW)}P)D=fSZDIaFb z%JTg?Zj|`qdtVfzl?gkee5uA%Q8MXjv7kd2(wh<^aQZ%|Uc$DZK%_dz5T{5MjU{Y0 zu~phTkG%HMsb1P7i!9jDZo5pNjCf2vH6andBQhSH4W9192Y*qXslU;1E z*gE-?jyV)3au>i*j!j2Q-$ZmezUq21CPwusv2EH8$~d6DJ}F^BR=wA za3W;aO^EhyW)2*j-BbO{hfoVVlCQI@`oeIXx-EP#jVUP}{2rpQc%2jp>GDsf`05&~ z>Ko2Wz;^V#3-wl1*)BHJl#k&8E}~-EelE5%yM3c3#f~I+)E5HT=j?dTyd5%5T3Z?a>Dk$*NbqH1tw5?+7}4#Eyuo^m~r? zJy3F`b7^1S^1F|nn>V8uLbvUfdTo*$vpynh`BUoW@c<^Cuxl|~f+`LHrQ>{2S$zRf zQill*cAq)PYVb4q2ht`42S3w2PiHQqw`|dSTVBkO;d9U!6)bXIq(&)^gYn`ObpGwB ztM6mr1#QYBl7hd3GP35<#$4NR|`l%o*%bVLT~IKJTt=ok=Sh-}*2EzqyUASeQj z)zGhPk`}X)QRp+Jz?VN9yDro_G|?9p8^zeMBF@w}X1Ik542}*PTwy8^*P?C5G7=7y z8(CavupahQ-%1=Ueo^BPq0mJ>u#GSx$XelqD_&)Ti@SaUVTiBZ`iH!54Xnado&e z8u@lVE8%z%+1N5R88V#~M4kL*5q!cM`w1Yq9&mJ+)c_v_ENB|V176t{dVi9^^Qfg@ z8J;Skt`y{%?Y34AT5VFZwIY?I?lla@l1+>qJoLr5iz0c8_ zx1{IF60}W;LJEfT9qpGpd&Kuw_^!;ao%e6cMjr(|W){(kS#)cZI=iH0jt=!W>O8A4 zMxGAIaV~2q18#GW)vP(~-Qc~lA6Gk#)Yr3ua-Cn?Dy>0I5 z6B^B6O$$wzg)8=q6UaSV$_dSmO__6;u`icF&5q%7TMGrbysAI#H zLQIiQ`7%onb=`}4ZaUK3a~c;uv8>0J+VXLG4_nv~fmy96(0<`_Q$g)~N4*NYM+Wa1 z?tQJ*ROfFPGL%Hq*NG5wH44#0n@G+&o0NLXutrA-E9L5&Eq>kM*wO}n>Y1twhhBBn zQZ-9*m8+&~p((pu=ER$G>%rlfON|+qp(8u2uyjf#z46B+!G(RLD5fmZpKDwX2WUcr zP?om%+1ak%aK7_VJaI$$n-yH7(V>jeu0-0UBYgFvg%_{hvd(4qJ}6Wh*9&y@5SGoc zbG+ujre!{wQX{8WB!3-nbDE)N_CukqV9MKHDm=*PJ;$S?fQ)E>)JxJ}d~!$|A# z=+?yL@qoHY4xVqlc=$qRZq4GM_pD4KKQ9a=*yhr(R+(bZ-9!$xUR|%FFFLaTg=!N% z4I|sOoacCm5TR7_&)ylA(>FUKjP_QWfjoI>s;uy26CWTcb7 zt)?nlF*fXsYtOs$H(C>x8sVo8cEh6sg3v;@`c-_`32)AamR@%(u5SBUT3wtWd|&%l z%l-`MN(crqxv>^#9i=!07nW0D77Mslu?XIW>Z&$W*&A`_P(R+K+Or;fq6raL#T@eA zm5!uT%$2sptY!}%*39YRuQNkdg$cc(axRE@xj4Iv2=*-I87MWhowc~>s@G@NVa&Cu zvqW5P*xibRl(&A1iJZKTV8XFUBX9%@ZFolWtm{E8a2cGvv8Eq=oRd@#9|h&ii)Gm3 zbY9H}{5H1u0KOQ=)XubwE*YYnV0MY4qvlS=aUVmHs0 zxSPH-)^+9Hb}95F!ENhW(DWrpuKdeVxSpoeZ_@QJE=SyvC+2Ao!lTz16`{DS*F?D~`4cO4ie zqW;Ae-$}q_&ofCG1;=UN*?OpV_IY@wY{R-%b?A)IO~AGD8&> zOKH(DgaT#Ey}!&;=|*w4_rb3@QMq$OE09I&&lq$&O(s3{>tvyof#z)pZCL*Ow6CyZ z8=xfHE(S*FAEDtIgGW|iRta$%&HOW+Psgv;=beW`_RiO``+leCW!8g?NbBp`H)bn& zUiU@z1m3-&r0ZIq{hHFiUk*EC3mwuqKZb-HB6welDD03+8hE(uczY}zUd}8!6s#x& zz5egA0f6Rm&#+so%_;>+VA1sl!R4EoKG!NH)-eMnXiFNT;~}jKqMrw6&?|aWFJS9e ziqz7iTB{7IeHdU5vR5H!I+wRM1POZksb0+R3Hqb39Ynbc9-H~AOQGLsAjJZd4%LAb zVCMWIQm{cE0z3*q+a0f7-VPt^;KP*n?N1k(*mn}+x;ex&H2+vx|CPCJ%Rfu_e>*E* z|MT!0*518~e}8>d_^$WkIVDeqnS1S}jL)fb?0&t?Q3`lxwg+(EMo`K5Z%Ym)BlUWK zb5_S#5;E-y46f~{cb{^8{?Q#0kF}-+AGh9Adt7hjGS6dPFSaEeT?jnprhWMtOO$bC z@bu{%;l@AiOXmlF-UGf88a|rj6oSOM>XWa+6wGckd31l2N4xCA<<(Y97IiEx3 zM}Fu7hyMT9mdRM6)RoYgqX3iN5(cv&$F3nq(1&>7q|U$JZ!C&X{0CMd58NR0%`gEt zxrEZ*2Thpm2Rh^L_nU=J&}Fbs&_cX$pdL7+`1}3l$0v~I%^-fR0nR|)Jl=2yPy zkf75(4gY}?A>Zz&AD@WD&%i4QHup1bMp>~4@yLJR6!e?@=lhhg_}LINcgdUvoMb}x z*+1ZgkvHq-%eq63@j{k=kPMn6WIOW=)A6*3us`xVxurAaaNA#E00K`}KbLh*2~7aW C+$22! literal 0 HcmV?d00001 diff --git a/double-buffer/README.md b/double-buffer/README.md index befa83a9a..ab4d0b9b5 100644 --- a/double-buffer/README.md +++ b/double-buffer/README.md @@ -34,6 +34,10 @@ Wikipedia says > In computer science, multiple buffering is the use of more than one buffer to hold a block of data, so that a "reader" will see a complete (though perhaps old) version of the data, rather than a partially updated version of the data being created by a "writer". It is very commonly used for computer display images. +Sequence diagram + +![Double Buffer sequence diagram](./etc/double-buffer-sequence-diagram.png) + ## Programmatic Example of Double Buffer Pattern in Java A typical example, and one that every game engine must address, is rendering. When the game draws the world the users see, it does so one piece at a time - the mountains in the distance, the rolling hills, the trees, each in its turn. If the user watched the view draw incrementally like that, the illusion of a coherent world would be shattered. The scene must update smoothly and quickly, displaying a series of complete frames, each appearing instantly. Double buffering solves the problem. diff --git a/double-buffer/etc/double-buffer-sequence-diagram.png b/double-buffer/etc/double-buffer-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..365dff15a718335e97719e387a6e8670b46ec096 GIT binary patch literal 63059 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 aQdGgqq1y4-laWvm@X=JeqFQjt%Ktx^I1M=f literal 0 HcmV?d00001 diff --git a/double-checked-locking/README.md b/double-checked-locking/README.md index df2ddfe98..0c4318d11 100644 --- a/double-checked-locking/README.md +++ b/double-checked-locking/README.md @@ -29,6 +29,10 @@ Wikipedia says > In software engineering, double-checked locking (also known as "double-checked locking optimization") is a software design pattern used to reduce the overhead of acquiring a lock by testing the locking criterion (the "lock hint") before acquiring the lock. Locking occurs only if the locking criterion check indicates that locking is required. +Flowchart + +![Double-Checked Locking flowchart](./etc/double-checked-locking-flowchart.png) + ## Programmatic Example of Double-Checked Locking Pattern in Java The Double-Checked Locking pattern is used in the `HolderThreadSafe` class to ensure that the `Heavy` object is only created once, even when accessed from multiple threads. Here's how it works: diff --git a/double-checked-locking/etc/double-checked-locking-flowchart.png b/double-checked-locking/etc/double-checked-locking-flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..89d08529238be80c50f3804b1725ab87b4dd708f GIT binary patch literal 68865 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 z∨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 MYd?l5K7akc0FM&eO8@`> literal 0 HcmV?d00001 diff --git a/double-dispatch/README.md b/double-dispatch/README.md index 002246719..05c0cdea4 100644 --- a/double-dispatch/README.md +++ b/double-dispatch/README.md @@ -33,6 +33,10 @@ Wikipedia says > In software engineering, double dispatch is a special form of multiple dispatch, and a mechanism that dispatches a function call to different concrete functions depending on the runtime types of two objects involved in the call. In most object-oriented systems, the concrete function that is called from a function call in the code depends on the dynamic type of a single object and therefore they are known as single dispatch calls, or simply virtual function calls. +Sequence diagram + +![Double Dispatch sequence diagram](./etc/double-dispatch-sequence-diagram.png) + ## Programmatic Example of Double Dispatch Pattern in Java The Double Dispatch pattern in Java is used to handle collisions between different types of game objects. Each game object is an instance of a class that extends the `GameObject` abstract class. The `GameObject` class has a `collision(GameObject)` method, which is overridden in each subclass to define the behavior when a collision occurs with another game object. Here is a simplified version of the `GameObject` class and its subclasses: @@ -113,10 +117,6 @@ Here is the program output: 15:47:23.773 [main] INFO com.iluwatar.doubledispatch.App -- SpaceStationIss at [12,12,14,14] damaged=true onFire=false ``` -## Detailed Explanation of Double Dispatch Pattern with Real-World Examples - -![Double Dispatch](./etc/double-dispatch.png "Double Dispatch") - ## When to Use the Double Dispatch Pattern in Java * When the behavior of a method needs to vary not just based on the object it is called on, but also based on the type of the argument. diff --git a/double-dispatch/etc/double-dispatch-sequence-diagram.png b/double-dispatch/etc/double-dispatch-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..71302caf6d04ee2a47cb899095efd92de99238e6 GIT binary patch literal 24765 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 UoG)%=^y>bqN*cF{et+oyZ*@7M*8l(j literal 0 HcmV?d00001 diff --git a/dynamic-proxy/README.md b/dynamic-proxy/README.md index 9dedbedd0..ec0821260 100644 --- a/dynamic-proxy/README.md +++ b/dynamic-proxy/README.md @@ -35,6 +35,10 @@ Wikipedia says > A dynamic proxy class is a class that implements a list of interfaces specified at runtime such that a method invocation through one of the interfaces on an instance of the class will be encoded and dispatched to another object through a uniform interface. Thus, a dynamic proxy class can be used to create a type-safe proxy object for a list of interfaces without requiring pre-generation of the proxy class, such as with compile-time tools. Method invocations on an instance of a dynamic proxy class are dispatched to a single method in the instance's invocation handler, and they are encoded with a _java.lang.reflect.Method_ object identifying the method that was invoked and an array of type _Object_ containing the arguments. +Sequence diagram + +![Dynamic Proxy sequence diagram](./etc/dynamic-proxy-sequence-diagram.png) + ## Programmatic Example of Dynamic Proxy Pattern in Java This example demonstrates using the Dynamic Proxy pattern in Java to hit the public fake API [JSONPlaceholder](https://jsonplaceholder.typicode.com) for the resource `Album` through an interface. diff --git a/dynamic-proxy/etc/dynamic-proxy-sequence-diagram.png b/dynamic-proxy/etc/dynamic-proxy-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..cdffa1b36d6223d59c33ad85d2c9daccabea21b7 GIT binary patch literal 50644 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 NQ_@n*y=)%ve*o5jzu5o) literal 0 HcmV?d00001