components, frameworks, patterns [ralph e. johnson]

23

Upload: igor-ribeiro

Post on 25-Jan-2015

210 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Components, frameworks, patterns [ralph e. johnson]

����� ���������� ���������� ���������� ���������� ���!�"

#%$'&)(�*,+%-�.0/'* 1!23/'14!576�8:9�$'8:;=<?>A@B>DCACFE

GIH'JLKNMPORQSKTVUXWSY�ZL[]\:U_^V`!WaU_Z�WSb�\:cVd)ZNeXf_gh\:UjikZLblf_ZNm�U_ZLnR`)Zf_ZNe_oVbliqprnVZsftoRWSf�WSU_Z�[uivmlZXwyx

nR`jZNm%iybziybRmlnR`)f_Utx�cVnVf�bV\:f{mriv`teXnR`_`)ZNm�Y|nRe_ozclx}ftoVZ~`)\S�hf)[�WSU_Z�ZLbV�SiybVZLZLU)iybV�UtZN`)ZNWSU�eto}eX\:Y�Y|nVbliyf)x:�I�]oVZLx�WSU_ZsW�[uWPx�\S�?U_ZLnR`�ikbV��mlZN`�iy�:b%f_oRWSf�iq`��RWSU_f�\a�ftoVZ!U_ZNWr`)\:b�f_oRWaf?`)\:YZ�\:cVd)ZNeXf_gh\:U)iyZLblf_ZNm�mlZL�:ZXwy\:�7ZLU�`�WSUtZ!`)\��VUt\�mlnReXf)iy�:Z:�F�]oliq`�RWa�RZLU�eX\:Y��RWaU_ZN`!WabRm�eX\:blf_U�W:`jf�`���U�WaY�ZL[]\:U_^V`][]iyf_o�\rf_oVZLU!UtZLnR`)Z�f_ZNetoVbliqp:nVZN`��WabRm�mlZN`_eXUjikc7ZN`�oV\�[�ft\�nR`)Z�ftoVZLY���oV\�[�f_\zZL��W�wknRWaf_Z}ftoVZLY���WSbRm�oV\S[�f_\mlZL�rZXwk\r�zf_oVZLY�����f�mlZN`_eXU)iycRZIftoVZsf_UXW:mlZL\S��`�iybl�:\Swy�:ZNm�iyb}nR`�ikbV����U�WaY�ZL[]\:U_^V`L�iybRetwynRmriybR�If_oVZ|eX\3`)f�`]WSbRm��liyf)��W�w�wq`L�DWSbRm{[�oVZLb���UXWSY�ZL[]\:U_^V`]WSU_Z�WS�V�VU_\:�VU)iqWSftZ:�

� �u�� ]¡�¢%£�¤�¥¦  §�¢��¨D©Lª:«­¬S®�¯3©X°²±Aªr©�¬�ªr³I¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»�©X¬S¼½±t¬�·�¬:¶L¾D³D¹h¿V¼D¬VÀ0Á�¾D¬SÂI±_¾Ãªr©�¬�ª�ĺ¯3·]¯rÅ0¶L¾Ãªr©Æªl¶P¸·X¬�©X¹h±_·X¹�¶S±F®�¹º·�¾­©X¬�¼Ã±t¬�·X¬:¶L¾D³D¹�¿Ç¼²¬:±F¹º³~Èl¬S³D¬�©LªrÄ�ÉRªr³Ã»­¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»{©�¬S¼Ã±_¬|·X¬:¶L¾D³D¹�¿Ç¼²¬:±¹º³zʽªr©X·�¹h¶P¼²Ähªr©�À�Ë�ĺ·�¾D¯l¼DÈ3¾�·�¾D¬SÂ}¾ÃªSÌV¬I´Í¬�¬S³�¼½±t¬:»�±t¼Ã¶�¶P¬:±X±)Å�¼DĺÄqÂ�Å�¯3©{±_¯l«­¬s·X¹q«­¬VÉ�ªr³Ã»ªr©�¬­ª:³�¹q«­Êïl©�·Lªr³R·|Êê:©X·s¯rÅ�·�¾D¬~¶P¼Dĺ·�¼D©X¬I¯:Å�Äq¯l³DÈ3¸�·�¹º«­¬I¯3´Dµ_¬:¶P·X¸�¯l©�¹º¬S³R·X¬a»%»7¬SÌV¬�ĺ¯lÊìS©Æ±PÉ«­¯�±t·|Å�©Lª:«­¬S®�¯3©X°�»7¬�ÌV¬Sĺ¯3ÊD«­¬S³R·�ʲ©X¯lµ_¬:¶N·L±{ª:©X¬­Å�ªr¹qĺ¼D©�¬:±PÉ?ªr³Ã»�«­¯�±t·�¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»«­¬S·�¾D¯R»7¯3ĺ¯lÈ3¹º¬:±�»7¯}³D¯l·�»R¬:±X¶P©�¹º´Ã¬�¾D¯:®�·�¯%¼Ã±_¬�Å�©Lª:«­¬S®�¯3©X°²±PÀ�Î%¯3©X¬S¯:ÌV¬S©�É�·�¾D¬S©�¬­¹h±sªÄº¯3·�¯:Å϶P¯l³7Å�¼½±t¹º¯3³Ðª:´Ã¯l¼D·�®�¾D¬S·�¾D¬S©IÅ�©Lª:«­¬S®�¯3©X°²±�ª:©X¬­µ_¼Ã±_·­Ähª:©XÈ3¬S¸)±�¶SªrÄq¬%Êê:·X·�¬S©X³Ã±NÉ�¯3©®�¾D¬S·�¾D¬S©�·�¾D¬SÂ~ªr©X¬�µ_¼Ã±t·�ª:³D¯l·�¾D¬S©�°7¹q³Ã»­¯rÅu¶P¯l«~Êͯ3³D¬S³R·SÀ

Ñ]ÌV¬S³�·X¾D¬�»7¬NÒóD¹º·�¹º¯3³Ã±¦¯:Å�Å�©Lªr«~¬S®�¯3©X°²±�Ìlª:©XÂVÀBÁ�¾D¬I»R¬PÒóD¹q·X¹º¯3³%®!¬{¼Ã±_¬{«­¯�±t·�¹h±�ÓlªÅ�©Lª:«­¬S®!¯l©X°}¹h±�ª�©�¬S¼Ã±�ªr´DÄq¬�»7¬:±_¹ºÈl³�¯rÅBª:ĺÄ�¯l©sÊêr©�·{¯:ÅBª%±t²±t·�¬S«Ô·X¾Ãª:·{¹h±|©�¬SÊD©X¬a±t¬S³R·X¬:»´Rªz±t¬S·�¯rŪr´Ã±_·X©Lª3¶P·~¶PÄhª3±X±t¬a±Iªr³Ã»·X¾D¬}®�ªSÂ�·X¾²¬S¹º©I¹q³Ã±t·Æªr³Ã¶P¬a±{¹º³R·X¬S©Æªl¶P·ÆÓ7ÀË�³D¯3·X¾D¬�©¶P¯3«­«­¯l³�»7¬PÒóD¹q·X¹q¯l³{¹�±]Ólª�Å�©Lªr«~¬S®�¯3©X°�¹h±A·X¾D¬�±_°V¬Sĺ¬�·X¯l³�¯:ÅAª:³�ªrÊDʲĺ¹h¶�ªr·X¹q¯l³I·�¾Ãªr·�¶�ªr³I´Ã¬¶P¼Ã±_·X¯3«­¹ºÕS¬a»´RÂIªr³~ªrʲÊDĺ¹�¶Sªr·�¹º¯l³~»7¬SÌV¬�ĺ¯lÊìS©ÆÓ7À?Á�¾D¬:±t¬Bªr©�¬�³²¯l·!¶P¯l³RÖùh¶P·�¹º³DÈs»7¬NÒóD¹º·�¹º¯3³Ã±P×·X¾²¬�Ò½©L±t·�»7¬:±X¶N©X¹º´Ã¬:±�·X¾²¬{±_·X©�¼Ã¶P·X¼²©X¬{¯:ÅتÏÅ�©Æªr«­¬S®!¯l©�°­®�¾D¹ºÄq¬�·X¾D¬Ï±t¬:¶P¯3³Ã»%»R¬:±X¶P©�¹º´Ã¬:±�¹º·Æ±ÙÛÚrÜ�Ý:ÞPß�à�áVâPã:ãSß�ätà�à�å]æÛâ�çéè:Ý|êNÞNÝrë:à�ÞPëRìRíFä_è3â�ß�Ü�î�ä_ëSÜÛÞ�ïÍð'ÞPî�è:ÚrÜ�ä_ß]ñ:ò)óéä_ë3ò)äPìRôAë:óéõPä_ß�à�ó�Ühö|Þ�ï�÷hçéç�óéë:ÞPóéà�ìø�ùPúLû{ü ä_à�Ü�ñaè:ß�óéë:ý�þ3ä_çyã�ÙÛõNäPÿ�ì'ôAß��3âLë3â�÷���� ø��Pú:ø ì�Dä_çéä_è:Ý:ÞPë:äNå� � ø���� � ûNû���úPú��Pù ìDä � îBâ�ó�çhå��)ÞNÝrë �à�ÞPë��]ò)à�ÿ Ú:óéÚ3ò�ÿ äXãSÚ

Page 2: Components, frameworks, patterns [ralph e. johnson]

ÊD¼D©�ÊïV±t¬�À���¬SÌV¬�©X·X¾²¬Sĺ¬:±�±PÉ�·X¾D¬� Êï3¹º³R·�¯3¼D·­·X¾²¬z»7¹���¶P¼²Äº·_Â�¯rÅÏ»7¬NÒóD¹º³²È Å�©Æªr«­¬S®!¯l©�°D±¶PÄq¬:ªr©�ĺÂVÀ

¨D©Lªr«~¬S®�¯3©X°²±ª:©X¬­¹q«­Êïl©�·Lªr³R·SÉ�ª:³Ã»�´Ã¬:¶P¯l«~¹º³DÈ�«­¯3©X¬�¹º«­Êïl©�·Lª:³7·�À���ÂD±_·X¬S«�±|Äq¹º°V¬��� Ñ�É � Êͬ�³�¯R¶lɲªr³Ã»��� � Î�ª:©X¬�Å�©Lª:«­¬S®�¯3©X°²±PÀÛÁ�¾D¬�©X¹�±t¬�¯rÅ� VªSÌlª|¹�± ±_ÊD©X¬aªl»7¹q³DÈ�³D¬S®Å�©Lª:«­¬S®!¯l©X°²±Äq¹º°V¬}Ë�� Á�ªr³Ã»���¬aªr³Ã±NÀ Î%¯�±t·~¶P¯l«~«­¬S©L¶N¹ºª:ĺÄqÂ�ªaÌ3ª:¹ºÄhª:´D嬭Å�©Æªr«­¬S®!¯l©�°D±±t¬�¬S«�·�¯�´Ã¬�Å�¯3©�·X¬:¶L¾D³D¹�¶SªrÄ�»R¯l«�ª:¹º³Ã±|±_¼Ã¶L¾�ª3±¼Ã±_¬S©�¹º³R·X¬S©_Å�ªl¶P¬:±�¯l©s»7¹h±_·X©�¹º´D¼D·�¹º¯3³AÉÛªr³Ã»«­¯�±t·sªrÊDʲĺ¹h¶�ªr·X¹q¯l³ ±tÊì:¶P¹yÒ�¶�Å�©Æªr«­¬S®!¯l©�°D±�ªr©�¬­ÊD©�¯lÊD©�¹º¬S·Æªr©XÂ�À���¼D·�·�¾D¬�±t·�¬:ªl»RÂ�©�¹h±t¬~¯rÅÅ�©Lª:«­¬S®!¯l©X°²±�«­¬aªr³Ã±�·�¾Ãªr·�¬SÌV¬�©XÂz±_¯rÅ�·_®�ª:©X¬~»7¬SÌV¬SÄq¯lÊìS©�±_¾D¯l¼²Äh»�°R³D¯:®=®�¾Ãª:·{·�¾D¬SÂ�ªr©�¬ªr³½»�¾²¯r® ·X¯~»7¬:ªrÄA®�¹q·X¾�·X¾²¬S«zÀ

Á�¾D¹h±AÊê:Êͬ�©�¶P¯l«~Êêr©�¬:±Aªr³Ã»I¶N¯l³R·X©Lª3±t·Æ±�Å�©Lª:«­¬S®�¯3©X°²±'®�¹º·�¾{¯l·�¾D¬S©Û©X¬S¼½±t¬�·�¬:¶L¾D³D¹h¿V¼D¬:±Nɪr³½»»R¬:±X¶P©�¹º´Ã¬:±'¾D¯:®�·X¯�¼Ã±t¬�·�¾D¬S«zÉN¾D¯:®�·�¯�¬SÌ3ª:ĺ¼Ãª:·X¬�·X¾D¬�«zÉSª:³Ã»|¾D¯:®�·X¯�»7¬�ÌV¬Sĺ¯3Ê|·X¾D¬�«zÀ�)·�»7¬a±X¶P©�¹º´Ã¬|·X¾²¬|·X©Æªl»7¬S¯��0±¦¹q³7ÌV¯3ĺÌV¬:»I¹º³­¼½±t¹º³²È{Å�©Lªr«~¬S®�¯3©X°²±PÉV¹º³Ã¶Nĺ¼Ã»7¹q³DÈ{·�¾D¬�¶P¯�±t·Æ±�ªr³Ã»ÊD¹q·tÅ�ªrÄqÄh±NÉDªr³½»�®�¾²¬S³�Å�©Æªr«­¬S®!¯l©�°D±!ªr©X¬sª:ÊDÊD©X¯3ÊD©X¹�ªr·�¬VÀ

� � ¢�� �¢����{�� ��! "�$#&% �'��§)(­�*�¨D©Lª:«­¬S®�¯3©X°²±]ªr©�¬�µ_¼Ã±t·!¯l³D¬�¯rÅÛ«�ªr³RÂI©X¬S¼Ã±_¬|·X¬a¶�¾D³²¹h¿V¼D¬:±)+ °7©�¬S¼DÈ3¬S©-,/.10)ÀÛÁ�¾D¬B¹h»7¬:ª:ÄéX¬S¼Ã±_¬·X¬a¶�¾D³²¯lĺ¯3ÈlÂ�ÊD©�¯rÌR¹h»R¬:±|¶P¯3«­Êïl³D¬S³R·L±�·X¾½ªr·s¶Sªr³z´Ã¬I¬:ª3±t¹qĺÂ}¶P¯l³²³D¬:¶P·�¬:»%·X¯­«�ªr°V¬sª­³D¬S®±t²±t·�¬S«zÀ}Á�¾D¬}±t¯:Å�·t®Øªr©�¬�»7¬SÌV¬SÄq¯lÊìS©s»7¯V¬:±I³D¯3·I¾ÃªSÌV¬�·�¯z°7³D¯:®�¾D¯:®�·�¾D¬�¶P¯3«­Êïl³D¬�³7·¹h±�¹º«­Ê²Äº¬S«�¬S³R·X¬�»'ÉVªr³½»�·�¾D¬s±tÊì:¶P¹yÒ�¶Sª:·X¹º¯3³­¯rÅu·X¾D¬�¶N¯l«­Êïl³²¬S³7·!¹h±�¬:ª3±t­·�¯I¼D³Ã»7¬�©L±t·Æªr³Ã»�ÀÁ�¾D¬z©�¬:±t¼DÄq·X¹q³DÈ�±_ÂD±_·X¬S« ®�¹ºÄqÄ�´Ã¬z¬2��¶P¹º¬�³7·�É ¬:ª3±tÂ�·X¯«�ªr¹q³7·Æªr¹q³AÉ�ª:³Ã»�©X¬SÄq¹hªr´²Äº¬VÀ Á�¾D¬¬SÄq¬:¶P·X©�¹h¶�Êïr®!¬S©B±t²±t·X¬�« ¹h±�Äq¹º°V¬|·�¾Ãªr·�×ÍÂV¯3¼%¶�ªr³%´²¼DÂ}ª�·�¯Vªl±_·X¬S©�Å�©X¯3« ¯l³D¬s±t·�¯l©�¬Iªr³½»zª·X¬�ĺ¬SÌR¹h±_¹º¯l³{Å�©�¯l« ªr³D¯3·X¾D¬�©SÉêr³½»�·X¾D¬�Â�®�¹qĺÄôïl·X¾�®!¯l©X°~ªr·�¬�¹º·X¾²¬S©�ÂV¯l¼D©!¾D¯l«­¬�¯l©!¯1��¶P¬VÀÎ%¯V±_·IÊìS¯lÊDÄq¬}»7¯�³²¯l·�°7³D¯:® � ¾D«43é± � ªS®�É�ÂV¬S·{·�¾D¬SÂ�¾½ªaÌV¬�³D¯z·�©X¯3¼D´Dĺ¬}¶P¯3³D³D¬:¶N·X¹º³²Èª­³D¬S®�·�¯Vªl±_·X¬S©s·X¯}·X¾D¬�Êïr®!¬S©I±_ÂD±_·X¬S« À65�³7Å�¯l©�·X¼D³Ãª:·X¬SÄqÂVÉ]±_¯rÅ�·_®�ª:©X¬�¹h±|³D¯3·{³D¬:ª:©XÄqÂ�ªl±¶P¯3«­ÊïV±Xª:´Dĺ¬�ªl±�·X¾D¬�¬SÄq¬:¶P·X©�¹h¶�Êïr®!¬S©�±t²±t·�¬S«zÀ

��¾D¬S³�®�¬�»7¬:±t¹qÈl³}ªI±t¯:Å�·_®�ªr©�¬s¶P¯l«­Êï3³D¬S³R·SÉV®�¬sªrÄq®�ªS²±�¾ÃªSÌV¬|·X¯I·�©Lªl»R¬{±_¹º«­Ê²Äº¹h¶N¹º·)ÂÅ�¯l©�Êï:®�¬S©�À­Ë�¶P¯3«­Êïl³D¬�³7·|·�¾Ãªr·Ï»7¯V¬:±�¯l³D¬�·X¾D¹q³DÈ�®�¬SÄqÄ]¹h±|¬:ª3±tÂz·�¯�¼½±t¬VÉA´D¼D·Ï¶Sªr³�´Ã¬¼Ã±_¬:»�¹q³%Å�¬S®�¬S©�¶�ªl±t¬a±PÀ�Ë=¶N¯l«­Êïl³²¬S³7·�®�¹º·�¾z«�ªr³R­Êê:©Lª:«­¬S·X¬�©L±�ªr³½» ¯3ÊD·X¹q¯l³Ã±|¶�ªr³z´Ã¬¼Ã±_¬:» «~¯l©X¬I¯:Å�·X¬S³0ÉF´D¼D·�®�¹qĺÄ]´Ã¬­¾Ãª:©L»7¬�©·�¯%Äq¬:ªr©�³�·�¯�¼½±t¬VÀ87�¬S¼Ã±_¬�·�¬:¶�¾²³D¹h¿V¼D¬:±�©Lª:³DÈl¬Å�©X¯3«�·X¾D¬�±_¹º«­Ê²Äº¬�ª:³Ã»�¹q³7Öì)9R¹º´DÄq¬�·�¯·�¾D¬B¶P¯l«­Ê²Äº¬)9sªr³½»�Êïr®!¬S©tÅ�¼²Ä)À]Á�¾²¯V±t¬�·X¾½ªr·�Äq¬S·]·�¾D¬»7¬SÌV¬�ĺ¯lÊìS©A«�ªr°V¬�¶L¾D¯l¹�¶P¬:±Ûªr©�¬�¼Ã±_¼ÃªrÄqĺÂ�«­¯l©�¬!¶P¯l«­Ê²Äº¹h¶�ªr·X¬a»|ªr³Ã»{©�¬:¿V¼D¹º©�¬ «~¯l©X¬�·�©Lªr¹q³D¹º³²È¯l³�·�¾D¬�Êêr©�·�¯:Å�·X¾D¬s»7¬�ÌV¬Sĺ¯3Êͬ�©SÀ

¨D¯l©Û¬)9Dª:«­ÊDÄq¬VÉP·�¾D¬�¬:ªl±_¹º¬:±_·A®�ªSÂ�·X¯�Èl¬S·?ª�¶N¯l«­ÊD¹qĺ¬S©Ã¹�±�·�¯�´D¼²Â|¯l³D¬�À]Î%¯V±_·]¶N¯l«­ÊD¹qĺ¬S©Æ±¯l³²ÄºÂ~¶P¯l«­Ê²¹ºÄº¬�¯3³D¬�Ähª:³DÈl¼Ãª:Èl¬VÀ � ³­·X¾²¬|¯l·�¾D¬S©�¾Ãª:³Ã»'ÉDÂV¯l¼�¶P¯l¼DÄ�»­´D¼D¹ºÄ�»­ªI¶P¯3«­ÊD¹ºÄq¬S©FÅ�¯3©ÂV¯l¼²©]¯:®�³�Ä�ªr³DÈ3¼ÃªrÈ3¬|´7Âs©X¬S¼½±t¹º³²Èʽªr©X·Æ±]¯rÅAÈ�¶S¶:+;�V·Lª/,=<=0)É3®�¾D¹h¶L¾I¾Ãªl±�ª|Êê:©L±t¬�© È3¬S³D¬S©Æªr·�¯l©ªr³½»�ªI©X¬�¼Ã±Xª:´Dĺ¬�´Ãª3¶�°V¬S³½»�Å�¯l©�¶P¯R»R¬{Èl¬�³D¬S©Lª:·X¹q¯l³AÀ>�)·�·Lª:°V¬:± «~¯l©X¬B®�¯l©�°�ªr³½»�¬)9RÊìS©X·�¹h±t¬·X¯ ´D¼D¹ºÄ�»�ª¶P¯l«­Ê²¹ºÄº¬�©I®�¹º·X¾�È�¶S¶%·X¾½ªr³ ¹º·�»7¯V¬a±�µ_¼Ã±_·­·X¯¼Ã±_¬�ª ¶N¯l«­ÊD¹qĺ¬S©�É�´D¼D·~·X¾D¹�±ªrʲÊD©X¯�ªl¶L¾%ĺ¬�·L±�ÂV¯l¼}¶P¯l«~ÊD¹ºÄq¬|ÂV¯l¼D©�¯:®�³%Ä�ªr³DÈ3¼ÃªrÈ3¬VÀ�¨F¹º³Ãª:ĺÄqÂVÉDÂV¯l¼}«­¹ºÈ3¾7·Ø»7¬:¶P¹�»7¬�·X¾Ãª:·ÈV¶�¶�¹h±�³D¯3·¦Ö½¬)97¹q´Dĺ¬�¬S³D¯3¼DÈl¾0Éñt¹º³½¶P¬�ÂV¯l¼D©�Ä�ªr³DÈ3¼ÃªrÈ3¬{«­¹qÈl¾R· ´Ã¬s¶P¯3³Ã¶P¼D©�©X¬S³R·�¯3©|»7¬�Êͬ�³Ã»¯l³zÈ�ªr©�´ÃªrÈ3¬­¶P¯3ĺÄq¬:¶P·X¹q¯l³AÉ�±t¯~ÂV¯l¼z®�©X¹q·X¬sÂV¯l¼D©�¶N¯l«­ÊD¹qĺ¬S©�Å�©�¯l« ±X¶P©Æªr·L¶L¾AÀ�Ñ]ÌV¬S³}·X¾D¯3¼DÈl¾

.

Page 3: Components, frameworks, patterns [ralph e. johnson]

ÂV¯l¼}»7¯3³ 3 ·�©�¬S¼Ã±_¬{ª:³7Â}¶P¯R»R¬VÉDÂV¯l¼�®�¹ºÄqÄ'ÊD©�¯l´Ãª:´DĺÂ}±_·X¹ºÄqÄ'¼Ã±_¬{«�ª:³7Â�¯rÅ?·X¾²¬I±Xª:«­¬�»7¬a±t¹ºÈ3³¹h»R¬:ªl±�ª3±�ÈV¶S¶lÉñ_¼Ã¶L¾�ªl±�¾ÃªSÌ7¹q³DÈ�ªI±t¬�Êêr©Æªr·X¬sÊêr©Æ±t¬S©�À���¯l¼}¶Sªr³}ĺ¬:ª:©X³­·�¾D¬:±_¬¹�»7¬:ª3± Å�©X¯l«ªr³R­È3¯V¯R»%·X¬)9R·X´Ã¯V¯l°�¯3³z¶P¯3«­ÊD¹ºÄq¬S©L±NÀ

Ë�¶N¯l«­Êïl³²¬S³7·�©�¬SÊD©X¬a±t¬S³R·L±�¶P¯R»7¬~©X¬S¼Ã±_¬VÀ}Ë ·�¬)97·�´Ã¯V¯l°�©�¬SÊD©X¬a±t¬S³R·L±�»7¬:±_¹ºÈ3³�©X¬S¼½±t¬VÀÁ�¾D¬s±t¯3¼D©L¶N¬�Å�¯3©�È�¶S¶|ĺ¹q¬:±�±_¯l«­¬S®�¾²¬S©X¬|¹q³�´Í¬�·t®!¬S¬S³AÀ>7�¬S¼Ã±_¬�¬)97ÊìS©�·L±�¯:Å�·X¬S³}¶PÄ�ªr¹º« ·X¾Ãª:·»7¬:±_¹ºÈ3³�©X¬S¼Ã±_¬�¹�±�«­¯3©X¬z¹º«~Êͯ3©X·Æªr³R·­·X¾Ãª:³Ð¶N¯R»7¬�©�¬S¼Ã±_¬VÉ�«­¯�±t·�ĺÂ�´Ã¬:¶�ªr¼Ã±_¬�¹q·�¶Sªr³ ´Ã¬ªrʲÊDĺ¹q¬:» ¹q³�«~¯l©X¬~¶P¯3³7·�¬)97·Æ±�ªr³Ã»�±_¯z¹h±|«­¯3©X¬~¶P¯l«­«~¯l³AÀ�Ë�Ä�±t¯DÉÛ¹º·�¹h±sªrÊDʲĺ¹º¬a» ¬:ª:©XÄq¹º¬S©¹º³}·X¾D¬Ï»7¬SÌV¬SÄq¯lÊD«~¬S³7·!ÊD©X¯R¶N¬:±X±NÉAªr³Ã»�±t¯�¶Sªr³z¾ÃªSÌV¬Ïª�Ähª:©XÈl¬�©|¹º«­Ê½ªl¶P·�¯3³�ª�ÊD©X¯3µ_¬:¶P·SÀBË»7¬SÌV¬�ĺ¯lÊìS© 3é±D¬)9RÊìS©X·�¹h±t¬�¹�±'Êêr©�·XĺÂ�»7¼D¬�·X¯�°R³D¯:®�¹º³DÈB»7¬:±_¹ºÈ3³Ã±'·X¾Ãª:·]¶�ªr³�´Ã¬�¶N¼Ã±t·�¯l«­¹qÕS¬:»�·�¯Ò÷۪�³D¬S®�ÊD©X¯3´Dĺ¬�«zÀ ��¼D·A«­¯�±t·Û»7¬a±t¹ºÈ3³{©�¬S¼Ã±t¬�¹�±'¹º³7Å�¯3©X«�ª:Ä)À � ³D¬�¯rŽ·X¾D¬�«�ª:¹º³|ÊD©�¯l´DÄq¬S«�±®�¹º·�¾�©�¬S¼Ã±_¹º³DÈs»7¬:±_¹ºÈ3³�¹q³7Å�¯l©�«�ªr·�¹º¯l³I¹�±�¶Sª:ÊD·X¼²©X¹º³²È{ª:³Ã»�¬)9RÊD©�¬:±X±_¹º³DÈ�¹º· + � 7���� 0)À?Á�¾D¬S©�¬�¹�±³D¯�±_·Lª:³Ã»Dªr©Æ»�»R¬:±t¹qÈl³z³D¯3·Lªr·�¹º¯3³�ªr³Ã»z·X¾D¬�©X¬Iª:©X¬I³D¯�±t·Lª:³Ã»Dª:©L»�¶Sªr·Æªrĺ¯3ÈV±|¯rÅØ»7¬a±t¹ºÈ3³Ã±�·�¯©X¬�¼Ã±t¬VÀ?Ë ±t¹º³²Èlĺ¬�¶P¯l«­Ê½ªr³R­¶Sª:³}±t·Lª:³Ã»Dª:©L»7¹qÕS¬VÉêr³½»%±t¯3«­¬�»7¯²À>��¼D·�·X¾²¹h±�®�¹ºÄqÄ'³D¯3·�ĺ¬:ª3»·X¯I¹q³Ã»7¼Ã±_·X©�Â7¸�®�¹h»7¬�©�¬S¼Ã±t¬�À

Á�¾D¬{¯3©X¹qÈl¹º³½ªrÄÛÌ7¹�±t¹º¯3³�¯rÅرt¯:Å�·t®Øªr©�¬{©X¬�¼Ã±t¬s®�ªl±�´Ãª3±t¬:»%¯3³z¶P¯3«­Êïl³D¬S³R·L± + Îz¶)����� 0�À �)³·X¾²¬{´Ã¬SÈl¹q³D³D¹q³DÈDÉÛ¶P¯3«­«­¬S©Æ¶�¹�ªrÄ'¹q³7·�¬S©X¬a±t·�¹º³%¯3´Dµ_¬:¶P·�¸�¯3©X¹º¬�³7·�¬:»�·�¬:¶�¾²³D¯lÄq¯lÈl ªrÄ�±t¯­Å�¯R¶P¼Ã±_¬:»¯l³~¶P¯R»7¬B©X¬S¼Ã±_¬VÉVª3± ¹º³½»7¹h¶Sª:·X¬:»{´RÂ���©Lª3»�¯�9 3é± �V¯:Å�·t®Øªr©�¬ ��!±)+��¯�9 ���=0)À]Î%¯3©X¬�©�¬:¶P¬S³R·XÄqÂVÉÊD¼D©�¬!»7¬:±t¹qÈl³�©X¬�¼Ã±t¬�¾Ãª3±�´Ã¬:¶P¯3«­¬]Êïlʲ¼DÄhª:©SÉVª3±F±_¬S¬S³�¹º³�·X¾²¬uÅ�¯3©X«Ð¯:ÅÃÊê:·X·X¬�©X³Ã± +���� �� ,/<VÉ��Î47�� ,��DÉ� � ,/<DÉ����� ,��7ÉA¨D¯:®$,���0�À ��¼D·�Å�©Æªr«­¬S®!¯l©�°D±�ªr©�¬­ª:³�¹q³7·�¬S©X«­¬a»7¹hª:·X¬|Å�¯l©�«zÉÊê:©X·�¶P¯R»7¬�©�¬S¼Ã±t¬�ªr³Ã»�Êê:©X·�»7¬:±_¹ºÈ3³ ©�¬S¼Ã±_¬VÀ�¨D©Lª:«­¬S®!¯l©X°²±|¬Sĺ¹q«­¹º³½ªr·X¬I·�¾D¬­³D¬�¬:»�¯rÅ�ª³D¬S®"»7¬:±_¹ºÈl³~³D¯l·Æªr·X¹q¯l³�´RÂI¼Ã±t¹q³DÈIª:³­¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»IÊD©X¯3Èl©Æªr«­«­¹q³DÈ|Ä�ªr³DÈ3¼ÃªrÈ3¬{ª3± ·�¾D¬»7¬:±_¹ºÈ3³�³D¯3·Lªr·�¹º¯3³AÀÐË�Äq·X¾D¯3¼DÈl¾�ʲ©X¯lÈ3©Lª:«­«­¹º³²ÈzÄhªr³²Èl¼Ãª:Èl¬:±�±t¼ �'¬�©­±_¬SÌV¬S©Lª:Ä|»R¬PÅ�¬:¶P·Æ±Iªl±»7¬:±_¹ºÈ3³�³D¯l·Æªr·�¹º¯l³½±PÉ�¹º·{¹�±³D¯3·I³D¬:¶P¬a±X±Xª:©XÂ���·�¾D¯l¼DÈ3¾¹º·{«~¹ºÈl¾R·�´Ã¬%»R¬:±t¹q©Lªr´²Äº¬���·X¯z«�ªr°V¬±tÊì:¶N¹hªrÄq¹ºÕS¬a»�·X¯V¯3Äh±­·X¯�¼Ã±t¬%Å�©Æªr«­¬�®�¯l©�°D±NÀ�Î%¯V±_·�ʲ©X¯lÈ3©Lª:«­«­¬S©Æ±{¼Ã±t¹q³DȪ%Å�©Lªr«~¬S®�¯3©X°¾ÃªSÌV¬|³D¯�·X¯V¯3Äh±�¯l·�¾D¬S©�·X¾½ªr³%·�¾D¬S¹q©�¶P¯l«­Ê²¹ºÄº¬�©L±PÀ

7¦¬�¼Ã±t¬��)ª:³Ã» Å�©Lª:«­¬S®!¯l©X°²±��ؾêl±�«�ªr³RÂ%«­¯3·X¹qÌlª:·X¹q¯l³Ã±NÀ­Á�¾D¬­«�ªr¹º³z¯3³D¬­¹�±�·�¯z±�ªaÌV¬·X¹q«­¬zª:³Ã»Ð«­¯l³²¬SÂ�»7¼²©X¹º³²È�»7¬SÌV¬�ĺ¯lʲ«­¬S³R·SÀ�Á�¹º«­¬z·�¯�«�ª:©X°V¬S·~¹h±�¹q³Ã¶P©�¬:ªl±_¹º³DÈ3ĺÂ�¹º«~¸Êïl©�·Lªr³R·SÉ�ª:³Ã»�«�ª:³7Â�¶N¯l«­Êê:³D¹º¬a±�´²¼D¹ºÄ�» Å�©Æªr«­¬S®!¯l©�°D±|·X¯ »7¬:¶P©�¬:ªl±_¬�·�¹º«­¬I·�¯%«�ª:©X°V¬S·�À��¼D·�·�¾D¬S­Òóû�·X¾Ãª:·|·X¾D¬�¼D³²¹vÅ�¯l©�«­¹º·_Â~¶Sªr¼½±t¬:»�´7­Å�©Lª:«­¬S®!¯l©X°²±�¹h±Fµ_¼½±t·�ª3±¦¹q«­Êïl©X·Æªr³R·SÀ��©Lª:ÊD¾D¹h¶�ªrÄ�¼½±t¬S©�¹º³R·X¬�©tÅ�ªl¶N¬�Å�©Æªr«­¬S®!¯l©�°D±|Èl¹qÌV¬­ª}±t¬S·s¯rÅBª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³Ã±{ªz±_¹º«­¹qÄhªr©Bĺ¯V¯l°ªr³½»�Å�¬S¬SÄ�ÉDª:³Ã»zª�©�¬S¼Ã±�ªr´DÄq¬³²¬S·_®�¯l©�°�¹º³R·X¬S©_Å�ªl¶P¬|«~¬:ªr³�·X¾½ªr·BªrĺÄA·�¾D¬Iª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³Ã±�·X¾Ãª:·¼Ã±_¬¹q·¦Å�¯3ĺÄq¯r® ·X¾²¬I±Xª:«­¬�ÊD©X¯3·X¯R¶P¯3Äh±NÀ 5�³D¹vÅ�¯3©X«­¹q·tÂs©X¬:»R¼Ã¶P¬:±�·X¾D¬s¶P¯�±t·�¯rÅ!«�ª:¹º³R·X¬S³Ãª:³Ã¶P¬VÉ·X¯V¯²É�±_¹º³Ã¶N¬­³D¯:®�«�ªr¹º³R·X¬�³Ãªr³Ã¶N¬�ÊD©�¯lÈ3©Lªr«~«­¬S©L±�¶Sª:³«­¯:ÌV¬{Å�©X¯l« ¯l³D¬}ªrʲÊDĺ¹�¶Sªr·�¹º¯l³·�¯·X¾²¬³²¬)97·�®�¹q·X¾D¯3¼D·�¾ÃªSÌ7¹q³DÈ�·�¯�Äq¬:ªr©�³}ª�³D¬�® »7¬:±_¹ºÈl³0À�Ë ÒóêrÄÛ©X¬aªl±t¯3³�Å�¯3©¦Å�©Æªr«­¬S®!¯l©�°D±¹h±�·X¯�¬S³½ªr´DÄq¬�¶P¼Ã±t·�¯l«­¬�©L±I·X¯´D¼D¹qÄh»�¯lÊìS³ ±t²±t·�¬S«�±NÉ�±t¯·X¾²¬SÂ�¶Sª:³�«­¹ 9�ª:³Ã» «�ªr·L¶L¾¶P¯3«­Êïl³D¬S³R·L±]Å�©X¯3« »7¹ ��¬S©�¬S³R·�ÌV¬S³Ã»7¯3©L±PÀ

�)³Ð±_ÊD¹º·�¬�¯:Å�ªrÄqÄ�·X¾D¬:±_¬�«~¯l·X¹qÌ3ªr·X¹q¯l³Ã±NÉ�·�¾D¬�ʲ©X¬:»7¹�¶P·X¹q¯l³Ã±­·�¾Ãªr·�®�¬�©X¬�«�ªl»7¬z®�¾²¬S³±t¯:Å�·_®�ªr©�¬|©X¬�¼Ã±t¬|®Øªl±�ÒéL±_·�»7¹�±X¶P¼½±X±t¬a» ��!{ÂV¬:ªr©Æ±�ªrÈ3¯�±t·X¹qĺÄ�¾ÃªSÌV¬|³D¯l·�¶N¯l«­¬�·X©�¼D¬VÀ 7�¬S¼Ã±_¬¹h±!±t·�¹ºÄºÄ0ª�±_«�ªrÄqÄÃÊêr©�·�¯:Å]«­¯�±t·�»7¬�ÌV¬Sĺ¯3ÊD«­¬S³V·�ÊD©�¯lµ_¬:¶P·Æ±PÀ]Á�¾²¬¯3³D¬{¬ 9D¶P¬�ÊD·X¹q¯l³­¹�± ¹º³�·�¾D¬®�¯3©XÄ�»�¯rÅÛ¯3´Dµ_¬:¶P·X¸�¯l©�¹º¬S³R·X¬a»�ÊD©�¯lÈ3©Lªr«~«­¹º³DȲÉl®�¾D¬S©�¬|«­¯�±t·�¬�³7ÌR¹º©�¯l³D«­¬�³7·Æ±�¾ÃªSÌV¬�ª:·�Äq¬:ªl±_·ª{¼Ã±_¬S©�¹º³R·X¬S©_Å�ªl¶P¬�Å�©Lªr«~¬S®�¯3©X°�À

Page 4: Components, frameworks, patterns [ralph e. johnson]

� � ���I  §���� �z¡��6� �� ¢�¡���

� ³D¬�¯rÅ�·X¾²¬­°V¬SÂz¹h»R¬:ªl±|·X¾½ªr·I¼D³Ã»R¬S©XÄq¹º¬:±�Å�©Lª:«­¬S®!¯l©X°²±�¹�±·X¾½ªr·{¯:Å�·X¾D¬� ��������� �������� ����NÀË�³~ªr´Ã±_·X©Æªl¶P·�¶PÄ�ªl±�± ¹h±!ª{¶PÄ�ªl±�± ®�¹º·�¾­³D¯I¹q³Ã±t·Æªr³Ã¶P¬a±PÉR±t¯I¹q·�¹h±]¼Ã±_¬:»­¯l³DÄqÂ�ªl±�ªs±t¼DÊìS©Æ¶PÄhª3±X±+���7����RÉ � � :,�!10�ÀË�³�ªr´Ã±_·X©Æªl¶P·~¶PÄhª3±X±{¼Ã±_¼ÃªrÄqĺÂ�¾½ªl±�ªr·Iĺ¬aªl±t·I¯3³D¬�¼D³D¹q«­ÊDĺ¬�«­¬P³R·X¬a»¯lÊìS©Æªr·�¹º¯l³�»R¬PÅ�¬S©X©�¬:»�·�¯�¹q·L±|±_¼D´�¶PÄhª3±X±_¬:±PÀ'�V¹q³Ã¶P¬sªr³�ª:´Ã±t·�©Lª3¶P·s¶PÄhª3±X±�¾Ãªl±�³²¯­¹º³Ã±_·Lª:³Ã¶P¬:±Nɹº·~¹h±�¼Ã±_¬:»�ªl±�ª�·X¬�«­ÊDÄhª:·X¬�Å�¯l©�¶P©�¬:ªr·�¹º³DÈ�±_¼D´�¶PÄhª3±X±t¬a±�©Æªr·�¾D¬S©­·�¾Ãªr³ ª�·X¬S«­Ê²Ähªr·�¬�Å�¯3©¶P©�¬:ªr·�¹º³DÈI¯3´Dµ_¬:¶P·L±NÀ]¨D©Lª:«­¬S®!¯l©X°²± ¼½±t¬{·�¾D¬S« ªl±�»7¬:±_¹ºÈl³½±¦¯:Å]·�¾D¬S¹º©�¶N¯l«­Êïl³²¬S³7·Æ±PÀ

� ³D¬z®�ªS·X¾Ãª:·}ªr³ ªr´Ã±_·X©Lª3¶P·}¶PÄhª3±X±­ª3¶P·L±~ªl±�ª»7¬:±t¹qÈl³�¹�±�·X¾Ãª:·�¹º·~±tÊì:¶P¹yÒì:±�·�¾D¬¹º³R·X¬�©tÅ�ªl¶N¬­¯rÅ�¹q·L±�±t¼D´�¶PÄ�ªl±�±t¬:±NÀ ��¾²¬S³�ª�¶Pĺ¹q¬S³R·{¹º³½»7¹h¶Sª:·X¬:±{·�¾Ãªr·�¹º·I®Øªr³R·L±I·X¯�¼½±t¬}ªr³¹º³½±t·Lª:³Ã¶P¬�¯rÅ?ª:³�ªr´Ã±_·X©Æªl¶P·�¶PÄ�ªl±�±PÉV¹º·Øªrĺ®ØªSÂD±]«­¬:ª:³Ã±�ªr³­¹q³Ã±t·Æªr³Ã¶N¬|¯rÅ?ªs¶PÄhª3±X± ·�¾Ãªr·!«­¬S¬S·Æ±·X¾²¬¹q³7·�¬S©tÅ�ª3¶P¬�¯rÅ�·�¾D¬sªr´Ã±_·X©Lª3¶P·B¶PÄhª3±X±PÀ

Ë�³ ªr´Ã±_·X©Lª3¶P·I¶NÄhªl±�±¼Ã±_¼ÃªrÄqĺÂzÊD©�¯:Ì7¹�»7¬:±|Êêr©�·{¯:Å�·X¾D¬�¹º«­Ê²Äº¬S«­¬N³R·Lªr·�¹º¯3³%¯rÅ�¹q·L±�±t¼²´D¸¶PÄ�ªl±X±_¬:±PÉ�·X¯V¯DÀ�¨D¯l©�¬)9²ªr«~ÊDĺ¬VÉ�ª����� "!#�$ %���& '���)(+*-,I»7¬PÒóD¬a±�·X¾D¬~±t°V¬�ĺ¬S·�¯l³%¯:Å�ª:³�ª:ĺÈl¯3¸©X¹q·X¾D«,¹º³~ªr³�ª:´Ã±t·�©Lª3¶P·�¶PÄ�ªl±�±PÉD»R¬PÅ�¬S©X©�¹º³DÈ�±t¯l«~¬�¯:ÅA·X¾²¬�±t·�¬SÊñ]·X¯Ï±t¼D´�¶PÄ�ªl±X±_¬:± +���� �� ,=<�0)ÀÑ�ªl¶L¾�±t·�¬SÊ­¹�± »R¬PÒóD¬:»~ªl±�ª{±_¬SÊê:©Lªr·�¬�«­¬S·X¾²¯R»�·�¾Ãªr·�¶Sª:³­´Ã¬|©X¬a»7¬PÒóD¬a»�´7Â�ªI±_¼D´�¶PÄhª3±X±Nɱt¯�ª­±t¼D´�¶PÄ�ªl±�±¶�ªr³z©X¬a»7¬PÒóD¬s¹º³Ã»R¹ºÌR¹h»7¼Ãª:ÄÛ±t·�¬SÊñ�¯:Å�·�¾D¬�ªrÄqÈl¯3©X¹º·�¾D«�®�¹q·X¾D¯3¼D·�¶L¾Ãªr³²Èl¹º³²È¹º·Æ±�±_·X©X¼½¶P·X¼D©�¬VÀ]Á�¾²¬�ªr´Ã±_·X©Æªl¶P·�¶PÄ�ªl±�±�¶Sªr³­¬�¹º·X¾²¬S©�ĺ¬:ªSÌV¬�·X¾D¬|¹q³Ã»7¹qÌ7¹�»7¼ÃªrÄ�±_·X¬SÊñ�¼D³D¹q«­ÊDĺ¬�¸«­¬S³R·X¬a» ��¹)À ¬VÀF·�¾D¬SÂ�ª:©X¬sªr´½±t·X©Æªl¶P·�«­¬S·�¾D¯R»D± �]¯l©�¶�ªr³�ÊD©X¯:ÌR¹h»7¬sªI»7¬NÅ�ªr¼DÄq·�¹º«­ÊDÄq¬S«�¬S³V·Lª:¸·X¹q¯l³���¹�À ¬VÀ{·�¾D¬SÂ�ª:©X¬�¾D¯V¯l°�«­¬S·�¾D¯R»D±���+/.]©X¬�,/<10�À­Ë�¶P¯3³Ã¶P©X¬�·X¬~¶PÄhª3±X±|«�¼½±t·�¹º«­ÊDÄq¬S«­¬N³7·ªrÄqÄA·X¾D¬sª:´Ã±t·�©Lªl¶N·|«­¬S·�¾D¯R»D±�¯rÅu¹º·L±�ªr´½±t·X©Æªl¶P·�±t¼DÊìS©Æ¶PÄhª3±X±�ªr³Ã»�«�ªS­¹º«­Ê²Äº¬S«�¬P³R·!ªr³RÂ�¯rÅ·X¾²¬¾²¯V¯l°�«­¬S·�¾D¯R»D±PÀ �)·�®�¹ºÄºÄ�·X¾D¬�³�´Ã¬Ïªr´DÄq¬·�¯I¼Ã±t¬ÏªrÄqÄ'·X¾²¬«~¬S·X¾D¯R»²±�¹º·�¹º³²¾D¬S©X¹q·L±]Å�©X¯l«¹º·Æ±�ªr´Ã±_·X©Æªl¶P·�±_¼DÊìS©L¶PÄ�ªl±�±PÀ

Ë Å�©Lª:«­¬S®�¯3©X°}¹h±�ª�Ä�ªr©XÈ3¬S©X¸�±X¶�ªrĺ¬~»7¬:±_¹ºÈ3³�·�¾Ãªr·Ï»7¬:±X¶N©X¹º´Ã¬:±|¾D¯:® ª�ÊD©�¯lÈl©Æªr«Ô¹h±�»7¬S¸¶P¯3«­ÊïV±t¬a» ¹q³7·�¯�ª�±_¬S·%¯:Å�¹º³R·X¬S©Æªl¶P·�¹º³Dȯ3´Dµ_¬:¶P·L±NÀ �)·}¹h±�¼½±t¼Ãª:ĺĺÂ�©�¬SÊD©�¬:±t¬S³R·X¬a» ª3±zª±t¬�·�¯:Åsªr´Ã±_·X©Æªl¶P·�¶NÄhªl±�±t¬:±�ªr³½»�·X¾D¬}®�ªS·X¾D¬S¹q©I¹º³Ã±_·Lª:³Ã¶P¬:±I¹º³R·X¬S©Æªl¶P· + V¨����DÉ � � :,�!=0)À�V¹q³Ã¶P¬z¹º·~¹º³Ã¶PÄq¼Ã»7¬:±�·X¾D¬�®�ªSÂ�·�¾Ãªr·�¹q³Ã±t·Æªr³Ã¶P¬a±�¯:Å�·X¾D¯�±t¬ ¶PÄhª3±X±_¬:±­¹º³R·X¬S©Æªl¶P·�ɦ¹q·�¹h±�·�¾D¬¶P¯3ĺÄhª:´Ã¯l©Lª:·X¹qÌV¬|«­¯R»7¬SÄ�¯l©�Êêr·�·X¬S©�³�¯rÅ�¯3´Dµ_¬:¶P·�¹º³R·X¬�©Lªl¶N·X¹º¯3³�ªl±�«�¼Ã¶�¾~ªl±�¹º·�¹�±�·X¾D¬�°R¹º³Ã»²±¯rÅضPÄ�ªl±�±t¬:±�¹q³z·X¾D¬~»7¬:±_¹ºÈ3³AÀ{Á�¾²¬I«­¯V±_·|¹º«­Êï3©X·Lª:³7·�Êê:©X·�¯rŦª�Å�©Lª:«­¬S®�¯3©X°�¹h±�·X¾D¬I®Øªa·X¾½ªr·�ªI±t²±t·�¬S« ¹�±�»7¹qÌ7¹�»7¬:»�¹q³7·�¯I¹º·L±!¶P¯l«~Êͯ3³D¬S³R·L± + �¬S¼ ���VÉ �¬S¼ �/,=0)À�¨D©Lª:«­¬S®!¯l©X°²±�ªrÄ�±t¯©X¬�¼Ã±t¬�¹º«~ÊDĺ¬S«~¬P³R·Lª:·X¹º¯3³AÉ]´D¼D·�·X¾½ªr·­¹�±�Äq¬:±X±I¹º«­Êï3©X·Lª:³7·I·�¾Ãªr³�©�¬S¼Ã±_¬%¯rÅ�·X¾D¬}¹º³R·X¬S©�³ÃªrĹº³R·X¬�©tÅ�ªl¶N¬:±|¯rÅsªz±_ÂD±_·X¬S« ªr³Ã»·X¾D¬�®ØªaÂ�·X¾½ªr·�¹º·L±Å�¼²³Ã¶P·X¹q¯l³Ã±Iª:©X¬}»7¹qÌ7¹�»7¬:»�ªr«­¯3³DÈz¹º·Æ±¶P¯3«­Êïl³D¬S³R·L±NÀÛÁ�¾D¹h±F¾²¹ºÈl¾²¸�Äq¬SÌV¬SÄR»7¬:±_¹ºÈ3³I¹h±F·�¾D¬�«�ªr¹q³{¹q³7·�¬SĺÄq¬:¶P·X¼½ªrÄV¶N¯l³R·X¬S³R·F¯:Å0±t¯rÅ�·_®Øªr©X¬�ɪr³½»~Å�©Æªr«­¬�®�¯l©�°D±!ªr©�¬Iª{®�ªS­·�¯�©�¬S¼Ã±_¬¹q·SÀ

¨D©Lªr«~¬S®�¯3©X°²±�·Æªr°V¬�ªl»RÌlª:³7·ÆªrÈ3¬|¯rÅ�ªrĺIJ·X¾D©�¬S¬�¯rÅ0·X¾D¬B»7¹h±_·X¹q³DÈl¼D¹�±t¾D¹q³DÈ�¶L¾Ãªr©Æªl¶P·�¬S©X¹�±t·�¹h¶S±¯rÅB¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»�ÊD©�¯lÈ3©Lªr«~«­¹º³DÈ�Ä�ªr³DÈ3¼ÃªrÈ3¬:±P×B»Dªr·Æª�ªr´Ã±_·X©Æªl¶P·�¹º¯l³0É�ÊïlĺÂR«­¯3©XÊD¾D¹�±t«zɪr³½» ¹º³D¾²¬S©X¹q·Lªr³½¶P¬VÀ � ¹q°V¬�ª:³=ª:´Ã±t·�©Lª3¶P·�»Dªr·Æª�·_Â7ÊìVÉsªr³ ª:´Ã±t·�©Lª3¶P·�¶PÄhª3±X±%©�¬SÊD©X¬a±t¬S³R·L±ªr³ ¹q³7·�¬S©tÅ�ª3¶P¬�´Ã¬S¾D¹q³Ã» ®�¾D¹�¶�¾ ¹º«­ÊDÄq¬S«�¬S³7·Æªr·�¹º¯l³½±�¶�ªr³,¶�¾½ªr³DÈ3¬VÀ .Û¯lĺÂR«­¯3©XÊD¾D¹�±t« ¹�±·X¾²¬ªr´D¹qĺ¹q·tÂ�Å�¯3©zª�±_¹º³DÈ3ĺ¬�Ì3ªr©�¹hª:´Dĺ¬�¯3©zÊD©X¯R¶N¬:»7¼D©�¬�Êêr©Æªr«­¬�·X¬S©�·X¯�·Æªr°V¬�¯3³ Ìlª:ĺ¼D¬a±¯rÅ�±t¬�ÌV¬S©Lª:Ä·_ÂRÊì:±PÀ � ´Dµ_¬:¶P·�¸�¯3©X¹º¬�³7·�¬:» Êï3ĺÂR«­¯l©�ÊD¾D¹h±_« Äq¬S·L±}ª�»7¬SÌV¬SÄq¯lÊìS©}«­¹ 9"ªr³Ã»«�ª:·L¶L¾�¶P¯3«­Êïl³D¬�³7·Æ±PÉ�ĺ¬S·Æ±{ªr³�¯l´Dµ_¬:¶N·�¶�¾Ãª:³DÈl¬�¹q·L±I¶P¯3ĺÄhª:´Ã¯l©Lª:·X¯3©L±�ªr·�©X¼D³D¸�·X¹q«­¬VÉ?ªr³Ã»

0

Page 5: Components, frameworks, patterns [ralph e. johnson]

«�ª:°V¬:± ¹q·�ÊïV±�±t¹q´Dĺ¬s·X¯­´D¼²¹ºÄh»­È3¬S³D¬S©�¹h¶¯3´Dµ_¬:¶P·Æ±�·X¾Ãª:·�¶Sªr³}®�¯3©X°%®�¹q·X¾ ª�®�¹�»7¬{©Æªr³DÈ3¬I¯rŶP¯3«­Êïl³D¬S³R·L±NÀ �)³D¾D¬�©X¹º·Æªr³Ã¶N¬|«�ªr°V¬a± ¹º·!¬:ªl±_Â�·X¯I«�ª:°V¬�ª{³D¬S® ¶N¯l«­Êïl³²¬S³7·�À

Ë Å�©Æªr«­¬�®�¯l©�°z»7¬a±X¶P©�¹º´Ã¬:±|·X¾D¬~ªr©Æ¶�¾²¹º·X¬a¶P·X¼D©�¬I¯rÅBª:³�¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»z±_ÂD±_·X¬S«z×A·�¾D¬°R¹º³Ã»D±]¯:ÅÛ¯l´Dµ_¬:¶P·Æ±]¹º³�¹º·!ªr³Ã»�¾D¯:®�·X¾D¬SÂI¹q³7·�¬S©Lª3¶P·SÀ �)·!»7¬:±�¶P©X¹q´Í¬a± ¾D¯:®�ª�Êêr©�·X¹�¶P¼DÄhª:©�°7¹q³Ã»¯rÅBÊD©�¯lÈl©Æªr«zÉرt¼Ã¶L¾�ªl±�ª ¼Ã±_¬S©�¹º³R·X¬S©_Å�ªl¶P¬­¯3©�³²¬S·_®�¯l©�°¶P¯3«­«�¼²³D¹h¶Sª:·X¹q¯l³ ±t¯rÅ�·_®Øªr©X¬�É ¹�±»7¬:¶N¯l«­ÊïV±_¬:»|¹º³R·X¯�¯l´Dµ_¬:¶N·L±PÀ �)·A¹h±A©X¬SÊD©�¬:±t¬�³7·�¬:»´RÂ�ª|±_¬S·F¯:Å0¶PÄhª3±X±t¬a± ��¼Ã±t¼Ãª:ĺÄqÂ{ª:´Ã±t·�©Lª3¶P· �Æɯl³²¬{Å�¯l©�¬:ªl¶L¾z°R¹º³Ã»%¯:Å�¯l´Dµ_¬a¶P·SÉ'´²¼D·�·X¾D¬I¹q³7·�¬S©Lª3¶P·X¹q¯l³zÊê:·X·X¬�©X³Ã±|´Ã¬S·_®�¬S¬�³z¯l´Dµ_¬:¶P·Æ±|ªr©�¬µ_¼Ã±_·�ªl±�«�¼Ã¶L¾~ª�Êê:©X·�¯:Å�·X¾D¬|Å�©Æªr«­¬S®!¯l©�°­ª3±¦·�¾D¬s¶PÄhª3±X±t¬a±PÀ

� ³D¬z¯rÅs·X¾²¬�¶�¾Ãª:©Lª3¶P·X¬S©�¹h±_·X¹h¶�±�¯:ÅÅ�©Æªr«­¬�®�¯l©�°D±I¹h± ����� ��� � � * � *�� ��* � ����*%�éÀ=ÁA©Lª3»7¹º¸·X¹q¯l³Ãª:ĺÄqÂVÉ|ª�»7¬�ÌV¬Sĺ¯3Êͬ�©�©�¬S¼Ã±_¬:» ¶N¯l«­Êïl³²¬S³7·Æ±�Å�©X¯l« ª�ĺ¹q´D©Lª:©XÂ�´RÂ�®�©X¹q·X¹º³²È�ª «�ªr¹º³ÊD©�¯lÈl©Æªr«�·X¾Ãª:·!¶SªrÄqÄh±]·X¾D¬B¶P¯3«­Êïl³D¬S³R·L±Û®�¾D¬S³D¬SÌV¬�©]³D¬:¶P¬a±X±Xª:©XÂVÀ�Á�¾²¬|»7¬�ÌV¬Sĺ¯3Êͬ�©�»7¬:¶P¹�»7¬:±®�¾D¬S³z·�¯�¶Sª:ĺÄÛ·X¾D¬�¶P¯3«­Êïl³D¬�³7·Æ±PÉ�ªr³Ã»z¹h±�©X¬:±_Êïl³Ã±_¹º´DÄq¬{Å�¯l©�·X¾D¬s¯:ÌV¬S©Lª:ĺÄ?±t·X©�¼Ã¶P·�¼D©X¬Ïªr³Ã»Öï:® ¯rŦ¶P¯l³R·X©�¯lÄ]¯:Å�·�¾D¬IÊD©�¯lÈl©Æªr«zÀ �j³�ªIÅ�©Lªr«~¬S®�¯3©X°�ÉÍ·�¾D¬I«�ªr¹q³%ÊD©�¯lÈ3©Lªr«Ô¹h±�©X¬S¼Ã±_¬:»'ɪr³½»%·X¾D¬Ï»7¬SÌV¬SÄq¯lÊìS©�»7¬:¶N¹h»7¬:±�®�¾Ãª:·|¹h±�ÊDĺ¼²ÈlÈl¬a»%¹º³R·X¯�¹º·Bªr³Ã»%«­¹qÈl¾R·�¬SÌV¬S³�«�ª:°V¬{±_¯l«­¬³D¬S® ¶P¯l«­Êï3³D¬S³R·L±�·�¾Ãªr·�ª:©X¬IÊDÄq¼DÈlÈ3¬:»%¹º³0À�Á�¾D¬�»7¬SÌV¬SÄq¯lÊìS©Æ±�¶P¯R»R¬IÈl¬S·Æ±|¶SªrÄqĺ¬:»�´7Â�·�¾D¬Å�©Lª:«­¬S®!¯l©X°�¶P¯R»7¬VÀ�Á�¾D¬�Å�©Lª:«­¬S®�¯3©X°}»7¬S·�¬S©X«~¹º³D¬:±�·X¾D¬I¯:ÌV¬S©ÆªrÄqÄÛ±t·X©�¼Ã¶P·�¼D©X¬Ïªr³Ã»%Öï:® ¯rŶP¯3³7·�©X¯lÄ�¯rÅ�·�¾D¬�ÊD©X¯3Èl©Æªr«zÀ

Á�¾D¬]ÒéL±_·A®�¹h»7¬�ĺÂ�¼Ã±_¬:»�Å�©Lªr«~¬S®�¯3©X°�ÉS»7¬SÌV¬�ĺ¯lÊì:»�¹º³�·X¾D¬?Ähªr·�¬ � ! 3�±PÉ:®�ª3±'·X¾D¬ �V«�ª:ĺÄq·LªrÄq°7¸��!�¼½±t¬S©A¹q³7·�¬S©tÅ�ª3¶P¬�Å�©Æªr«­¬�®�¯l©�°|¶�ªrĺÄq¬:»|Î%¯R»7¬�Ä�� �B¹º¬S®���¯l³R·X©X¯3ĺÄq¬S© �)Î � � +���¯3Ä � 0 É �. ���DÉ� .>, � 0�À Î � �±_¾D¯:®�¬:»�·�¾Ãªr·�¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»ÊD©X¯3Èl©Lª:«­«­¹q³DÈz®�ª3±�®�¬SÄqĺ¸�±t¼D¹q·X¬:»�Å�¯3©¹º«~ÊDĺ¬S«�¬N³7·�¹º³DÈ�Èl©ÆªrÊD¾D¹�¶SªrÄ�¼Ã±_¬S©{¹q³7·�¬S©tÅ�ª3¶P¬:±NÀ6�)·Ï»7¹ºÌR¹h»7¬a±|ª�¼Ã±_¬S©�¹º³R·X¬S©_Å�ªl¶P¬I¹q³7·�¯%·�¾D©X¬S¬°R¹º³Ã»D±'¯:Å�¶P¯3«­Êïl³D¬S³R·L±N×r«~¯R»7¬SÄh±NÉSÌ7¹q¬S®�±Aªr³½»{¶P¯3³7·�©X¯lÄqĺ¬S©Æ±PÀAÁ�¾²¬:±t¬!¯l´Dµ_¬:¶P·Æ±'®�¯3©X°�¹º³�·X©�¹º¯�±¶P¯3³Ã±t¹�±t·X¹q³DÈ%¯:ÅBª�ÌR¹º¬S® ªr³Ã»¶P¯3³7·�©X¯3ĺĺ¬�©|¹º³R·X¬S©Æªl¶P·�¹º³DÈ�®�¹q·X¾ª�«­¯R»7¬SÄ�À�Ë «­¯R»R¬SÄ�¹h±�ªr³ªrʲÊDĺ¹�¶Sªr·�¹º¯l³~¯l´Dµ_¬:¶P·�ÉDª:³Ã»­¹h±�±t¼²ÊDÊïV±t¬a»�·X¯I´Ã¬�¹º³½»7¬SÊìS³Ã»7¬�³7·!¯rÅ?·X¾D¬|¼½±t¬S©�¹q³7·�¬S©tÅ�ª3¶P¬VÀÛËÌR¹º¬S®z«�ª:³ÃªrÈ3¬:±'ª�©X¬�Èl¹º¯3³|¯rŽ·X¾D¬�»R¹h±tʲÄhªSÂ|ª:³Ã»°V¬�¬SÊñ͹q·A¶P¯3³Ã±t¹�±t·�¬S³7·A®�¹q·X¾|·�¾D¬!±t·Æªr·X¬�¯:ÅD·�¾D¬«­¯R»7¬�Ä)À�Ë,¶P¯l³R·X©�¯lĺÄq¬S©�¶P¯3³7ÌV¬S©�·L±�¼Ã±_¬S©|¬SÌV¬�³7·Æ± ��«­¯3¼Ã±t¬�«­¯:ÌV¬S«­¬N³R·L±�ª:³Ã»%°V¬S­ʲ©X¬:±�±t¬:± �¹º³R·X¯z¯3ÊìS©Lª:·X¹º¯3³Ã±I¯l³�¹q·L±I«­¯R»7¬SÄتr³Ã»Ì7¹q¬S®�À¨D¯l©�¬)9²ªr«­ÊDÄq¬VÉ]¶N¯l³R·X©X¯3ĺÄq¬S©L±�¹º«­ÊDÄq¬S«­¬N³7·±X¶N©X¯lÄqĺ¹q³DÈ�ªr³Ã»«­¬S³R¼Ã±PÀ �|¹º¬�®�±I¶Sªr³�´Í¬}³D¬:±_·X¬:»�·X¯zÅ�¯l©�« ¶P¯l«­Ê²Äº¬)9z¼Ã±_¬S©�¹º³R·X¬S©_Å�ªl¶P¬:±NÀ��¬:±_·X¬:»�Ì7¹q¬S®�±�ªr©�¬{¶�ªrĺÄq¬:»­±_¼D´7ÌR¹º¬�®�±PÀ

¨F¹ºÈ3¼D©X¬ � ±_¾D¯:®�±�ª�ÊD¹h¶N·X¼D©�¬¯:Å!·X¾D¬s¼Ã±t¬S©�¹º³R·X¬�©tÅ�ªl¶N¬¯:Å!¯l³D¬I¯:Å�·X¾D¬Ï±t·Æªr³Ã»Dª:©L»z·X¯V¯3Äh±¹º³I·�¾D¬ �V«�ª:ĺÄq·LªrÄq°7¸ ��!�¬S³7ÌR¹º©�¯l³D«~¬S³7·�ÉS·X¾D¬�ҽĺ¬�·X¯V¯3Ä)À�Á�¾D¬�ÒÃÄq¬�·X¯V¯lÄþê3± ·�¾D©X¬S¬�±_¼D´RÌ7¹q¬S®�±PÀÁ�¾D¬�·X¯3Ê­±_¼D´7ÌR¹º¬�®�¾D¯3Äh»D±�ª{±_·X©�¹º³DÈs·X¾Ãª:· ¹�±�ªÊê:·X·X¬�©X³�·X¾Ãª:·�«�ª:·L¶L¾D¬:±Ûª{±t¬�· ¯:Å'ÒÃÄq¬:±PÉV·�¾D¬«­¹�»D»7ĺ¬u±t¼D´RÌ7¹q¬S®»7¹�±tÊDÄ�ªSÂD±A·X¾D¬!ĺ¹�±t·Û¯rÅÃÒÃĺ¬a±�·�¾Ãªr·]«�ªr·L¶L¾�·X¾D¬�ʽªr·X·�¬S©X³0ÉVªr³Ã»{·�¾D¬�´Ã¯3·X·X¯3«±t¼²´7ÌR¹º¬S® »R¹h±tʲÄhªSÂD±�·�¾D¬s±t¬SÄq¬:¶P·�¬:»Ïҽĺ¬VÀ�Ë�ÄqÄ'·�¾D©X¬S¬�±t¼D´RÌ7¹q¬S®�±�¾ÃªSÌV¬|·�¾D¬s±Xªr«~¬|«­¯R»7¬SÄ� ª�� �� ��������������� ÀÛÁ�¾D¬�·X¯lÊ~ªr³½»�´Ã¯l·�·X¯3«�±t¼D´RÌ7¹q¬S®�±�ªr©�¬�¹º³Ã±_·Lªr³½¶P¬:±]¯rÅ�� �! #"%$& �'� ÉV®�¾D¹ºÄq¬�·�¾D¬«­¹�»D»7ĺ¬!±_¼D´7ÌR¹º¬�®�¹h±�ª:³­¹º³Ã±_·Lª:³Ã¶P¬�¯rÅ)( ��� �+*'", ��-�.�-0/� �1"�$2 3�'� À�Ë|±�±_¾D¯:®�³­´7Â�¨Û¹ºÈl¼²©X¬�.7ÉRªrÄqÄ·X¾²©X¬S¬|ÌR¹º¬�®�±�ªr©�¬s±t¼D´RÌ7¹q¬S®�±�¯rÅuª4( "15�-#6�5���6 (�7 �8"1��9:$2 3�'� À�Ñ�ªl¶L¾�¯rÅ?·X¾D¬|Å�¯3¼D©�Ì7¹q¬S®�± ¾½ªl±¹º·Æ±�¯:®�³%¶N¯l³R·X©X¯3ĺÄq¬S©SÀ�Ähª3±X± $& �'� ¹h±sªr³�ªr´Ã±_·X©Æªl¶P·�¶PÄ�ªl±�±®�¹º·�¾�´Ãª3±t¬�¯lÊìS©Æªr·X¹q¯l³Ã±Å�¯3©�¶P©X¬aªr·X¹q³DÈzª:³Ã»ªl¶P¸

¶P¬:±�±t¹q³DÈ%·�¾D¬}±t¼D´RÌ7¹q¬S®�¾D¹q¬S©Lª:©L¶L¾7ÂVÉA·�©Lªr³½±jÅ�¯l©�«­¹º³²È%Å�©X¯l«ÔÌR¹º¬S®�¶P¯V¯3©L»7¹q³Ãªr·�¬:±I·X¯�±X¶N©X¬S¬S³¶P¯V¯3©L»7¹q³Ãªr·�¬:±Pɲªr³Ã»�°V¬�¬SÊD¹º³²È·�©Lª3¶�°I¯:ÅÛ¹º·L±�©X¬SÈ3¹º¯3³�¯3³�·�¾D¬B»7¹h±_ÊDÄhªSÂVÀ �j·�¾Ãª3±�ªr´Ã±_·X©Æªl¶P·Øªr³Ã»

<

Page 6: Components, frameworks, patterns [ralph e. johnson]

*.st

lpb.stmini.sttrain.st------------

File list

!LiterateProgrammethodsFor: ’userinterface’!

edit LiterateProgramBrowser openOn: self!

¨F¹qÈl¼D©�¬ ��Á�¾²¬ ��«�ªrÄqĺ·Lª:ĺ°R¸ ��!{¨F¹qĺ¬�ÁA¯V¯lÄ

*.stFile list

lpb.stmini.sttrain.st------------

StandardSystemView

SelectionInListView

TextView

TextView

!LiterateProgrammethodsFor: ’userinterface’!

edit LiterateProgramBrowser openOn: self!

¨F¹ºÈ3¼D©X¬ .��V¼D´RÌR¹º¬S® ��¹q¬S©Lª:©L¶L¾7ÂI¹q³}¨F¹ºÄq¬�Á�¯V¯3Ä

Page 7: Components, frameworks, patterns [ralph e. johnson]

·X¬�«­ÊDÄhª:·X¬!¯lÊìS©Lª:·X¹q¯l³Ã± Å�¯3©�»R¹h±tʲÄhªSÂ7¹q³DÈDÉR±_¹º³Ã¶P¬B»7¹��'¬�©X¬S³R·�°7¹q³Ã»D±]¯rÅÛÌR¹º¬S®�±]©�¬:¿Ç¼²¹º©X¬�»R¹ ��¬S©X¸¬S³R·�»7¹�±tÊDÄ�ªaÂϪrÄqÈl¯l©�¹º·�¾D«�±PÀ)� �! "�$2 3�'� É0( ��� �+*'", ��-�.�-0/� �1"�$2 3�'� ɲªr³Ã» ( "85�-#6�5�� 6 (�7 �8"1��9 $& �'�ªr©�¬s¶P¯l³Ã¶N©X¬S·�¬�±t¼D´�¶PÄ�ªl±�±t¬:±�¯rÅ $2 3�'� ·�¾Ãªr·�¬aªl¶L¾�¾½ªaÌV¬�ª�¼D³²¹h¿V¼D¬s»7¹h±_ÊDÄhªSÂ~ªrĺÈ3¯l©�¹º·X¾²«zÀ

Ë|±{ª�¼Ã±t¬�©I«­¯:ÌV¬:±�·X¾²¬­«­¯l¼½±t¬IÅ�©X¯l« ¯l³D¬�±_¼D´RÌ7¹q¬S®=·�¯�ªr³D¯3·X¾D¬S©�É�¶N¯l³R·X©X¯3ĺÄq¬S©L±�ªr©�¬ªl¶N·X¹ºÌ3ª:·X¬:»­ª:³Ã»%»R¬:ªl¶P·�¹ºÌ3ªr·�¬:»­±_¯�·�¾Ãªr·�·�¾D¬sªl¶P·�¹ºÌV¬�¶P¯3³7·�©X¯3ĺĺ¬�©�¹h±�ª:ĺ®Øªa²± ·�¾D¬s¶P¯l³R·X©�¯lÄqĺ¬S©¯rÅÛ·�¾D¬�Ì7¹q¬S®�«�ª:³ÃªrÈ3¹º³DÈs·X¾D¬�©X¬�Èl¹º¯3³­¯rÅ?·X¾²¬{»R¹h±tʲÄhªSÂ�·�¾Ãªr·�¶N¯l³R·Lªr¹q³Ã±�·X¾²¬�¶P¼D©Æ±t¯l©�À �Ähª3±X±� ��-+" � ��� � ��� ¹q«­ÊDÄq¬S«�¬�³7·Æ±'·X¾D¬�ÊD©X¯3·X¯R¶P¯3Ä'·�¾Ãªr·!¬S³Ã±t¼²©X¬:±]·X¾²¹h±PÉR±_¯Iª{±_¼D´�¶PÄhª3±X±�¯rÅ � ��-+" � ��� � ���ªr¼²·X¯l«�ªr·X¹�¶SªrÄqĺÂI¹q³D¾D¬S©�¹º·L±�·X¾D¬sª:´D¹ºÄq¹º·_Â�·�¯­¶N¯V¯lÊìS©Lª:·X¬s®�¹º·X¾�¯3·X¾D¬S©�¶N¯l³R·X©X¯3ĺÄq¬S©L±NÀ�Ähª3±X±������ �+*'" ʲ©X¯:Ì7¹�»7¬:±Ûª|»7¬SÊìS³½»7¬S³Ã¶PÂB«­¬:¶L¾Ãªr³D¹�±t« ·X¾Ãª:·]ÌR¹º¬S®�±Û¶Sªr³I¼½±t¬�·�¯�»7¬S·�¬:¶P·

®�¾D¬S³�·X¾D¬}«­¯R»7¬SÄ 3é±I±_·Lªr·�¬�¶�¾½ªr³DÈ3¬:±PÀ Á�¾7¼Ã±NÉ�ªr³R ¯3´Dµ_¬:¶P·~¶Sªr³�´Ã¬ ª�«­¯R»7¬SÄ�À � ªr·�¬S©ÌV¬S©Æ±t¹º¯3³Ã±A¯rÅ �V«�ª:ĺĺ·ÆªrÄq°7¸ ��!�¾ÃªSÌV¬�ª3»D»7¬:»Iª�� �06���� ¶PÄhª3±X±F·�¾Ãªr·?ÊD©X¯:ÌR¹h»7¬:±Ûª|«­¯l©�¬�¬2��¶N¹º¬S³R·ÌV¬S©Æ±t¹º¯3³­¯rÅu·X¾D¬s»7¬SÊìS³½»7¬S³Ã¶PÂ�«­¬:¶L¾Ãª:³D¹h±_«*+ . �����20�À

Á�¾D¬|ÒÃĺ¬�·�¯V¯lÄÛ¹h±�ªI·tÂRÊD¹�¶SªrÄ0Î%¯R»7¬SÄ�� �|¹º¬�®���¯l³R·X©�¯lÄqĺ¬S©ØªrÊDÊDÄq¹h¶Sª:·X¹q¯l³%·�¾Ãªr·�»R¯V¬:±�³D¯3·³D¬S¬a»�³D¬�® ±t¼D´�¶PÄ�ªl±X±_¬:± ¯:Å $& �'� ¯l© � ��-+" � �0��� ��� À>�)·Æ± ¼Ã±_¬S©�¹q³7·�¬S©tÅ�ª3¶P¬�¶P¯l³½±t¹h±_·L±�¬S³7·�¹º©�¬SĺÂs¯růl´Dµ_¬a¶P·L±]Å�©X¯l« ¶PÄhª3±X±t¬a±�·X¾Ãª:·|ª:©X¬sªI±t·Æªr³Ã»Dª:©L»%Êê:©X·�¯:Å]·�¾D¬ �V«�ªrÄqĺ·Æªrĺ°R¸ ��!{¶NÄhªl±�±�ĺ¹q´D©Lª:©XÂVÀÁ�¾D¬*�V«�ªrÄqĺ·Æªrĺ°R¸ ��!z¶PÄ�ªl±X±Iĺ¹q´D©Lª:©X¶N¯l³R·Lªr¹q³Ã±�±t¬SÌV¬S©ÆªrÄ�»7¯3ÕS¬S³ ¶P¯3³Ã¶P©�¬S·X¬}±t¼²´'¶NÄhªl±�±t¬:±�¯rÅ$& �'� ª:³Ã» � � -+" � ��� �3� � À ��¯:®�¬SÌV¬S©�ÉA®�¾D¬S³·X¾D¬a±t¬�ª:©X¬­³D¯3·�±t¼ ��¶P¹q¬S³7·�ÉF³D¬�®�±t¼D´�¶PÄ�ªl±X±_¬:±¶Sª:³�´Ã¬�´D¼D¹qĺ·�·�¯I¬)97·�¬S³Ã»­·X¾²¬¼½±t¬S©�¹q³7·�¬S©tÅ�ª3¶P¬VÀ

�V¼Ã¶S¶N¬:±X±)Å�¼DÄ7Å�©Lª:«­¬S®!¯l©X°²±A¬SÌV¯lÄqÌV¬�ªr³½»­±tÊêS®�³�¯l·�¾D¬S©]Å�©Lª:«­¬S®�¯3©X°²±PÀ � ³D¬�¯rÅA·�¾D¬�ÒéL±_·¼Ã±_¬S©�¹q³7·�¬S©tÅ�ª3¶P¬¦Å�©Æªr«­¬�®�¯l©�°D±]¹q³7ÖüD¬S³½¶P¬:»I´7Â~Î%¯R»7¬SÄ � �|¹q¬S®���¯3³7·�©X¯lÄqĺ¬S©�®Øªl±�Îzªl¶�Ë�ÊDÊAÉ®�¾D¹�¶�¾|®Øªl±A»7¬a±t¹ºÈ3³D¬:»�±tÊì:¶N¹vÒ�¶Sª:ĺÄqÂ�Å�¯l©A¹º«~ÊDĺ¬S«�¬S³R·X¹y³DÈ!Îzªl¶N¹º³R·X¯V±_¾�ªrʲÊDĺ¹�¶Sªr·�¹º¯l³½±>+ �R¶L¾ ����0)À�)·�®Øªl±�Å�¯lÄqĺ¯:®�¬a» ´R ¼½±t¬S©­¹q³7·�¬S©tÅ�ª3¶P¬�Å�©Æªr«­¬�®�¯l©�°D±{Å�©X¯3« ¼D³²¹ºÌV¬S©Æ±t¹º·�¹º¬:±NÉ�±_¼Ã¶L¾ ªl±�·�¾D¬Ë�³Ã»R©X¬S® Á�¯V¯3ĺ°R¹º·�Å�©X¯3« !ª:©X³D¬�Èl¹º¬ÏÎ%¬SĺÄq¯l³ 5�³D¹qÌV¬S©L±_¹º·_Â�+/. � � � ���10)É �)³7·�¬S©��B¹º¬S®�±]Å�©X¯l«�V·Æªr³7Å�¯3©L»�+ � � ��=,�0)É:ªr³½»{Ñ�Á��Å�©X¯3« ·�¾D¬ 5�³D¹qÌV¬S©L±_¹º·_Â�¯:Å �üD©�¹h¶L¾�+ � �BÎ ���7É � �BÎ �=,=0�ÀÁ�¾D¬S©�¬Iª:©X¬I³D¯:®,ª­Ähªr©�Èl¬I³R¼D«�´Í¬�©�¯rÅضP¯l«~«­¬S©L¶N¹ºª:Ä'¼Ã±_¬S©|¹q³7·�¬S©tÅ�ª3¶P¬Å�©Æªr«­¬S®!¯l©�°D±NÉñt¼Ã¶L¾ªl± � � � É7ÕaË . .FÉ � ÊìS³ �V·�¬SÊAɲªr³Ã»�Îz¨��À �V¯l«~¬VÉVĺ¹º°V¬ � ÊìS³ ��·X¬SÊ 3�±PÉRªr©�¬�ª{±_«�ªrÄqÄÃÊêr©�·¯rÅϪ�«�¼Ã¶L¾�«­¯3©X¬}¶P¯l«~ÊD©X¬S¾²¬S³Ã±t¹qÌV¬�±t²±t·�¬S«zÀ��V¯3«­¬VÉ�Äq¹º°V¬�Õ:Ë . .FÉ!ªr©�¬z»7¬a±t¹ºÈ3³D¬:» Å�¯3©»7¬SÌV¬�ĺ¯lʲ¹º³DÈ�Êïl©X·Æªr´DÄq¬|±_¯rÅ�·_®�ª:©X¬VÉRª:³Ã»�±_¾D¹º¬�Äh»{·X¾²¬�»7¬SÌV¬SÄq¯lÊìS©FÅ�©�¯l«=·�¾D¬�Êͬa¶P¼Dĺ¹�ªr©�¹º·X¹q¬:±A¯rŪr³�¯3ÊìS©Lª:·X¹º³²È±t²±t·�¬S«zÀÐÑ�ª3¶�¾�¯:Å{·�¾D¬:±_¬�Å�©Lª:«­¬S®!¯l©X°²±I´Í¯3©X©�¯r®�±­¹�»7¬:ªl±IÅ�©X¯l« ¬:ª:©XÄq¹º¬S©±t²±t·�¬S«�±NÀ�Ë�ĺ·X¾²¯l¼DÈ3¾Ð·X¾D¬ »7¹��'¬�©X¬S³Ã¶N¬:±�´Ã¬S·_®�¬S¬�³ ·�¾D¬ Å�©Æªr«­¬�®�¯l©�°D±~ªr©X¬ »7¼D¬�Êêr©�·Xĺ·X¯~»7¹��'¬�©X¬S³R·�©�¬:¿V¼D¹º©�¬S«­¬S³R·L±NÉD±t¯3«­¬S·�¹º«­¬�± ³D¬�®�¬S©B±t²±t·�¬S«�±�¹º³Ã¶P¯3©XÊïl©Æªr·�¬I´Í¬�·X·X¬�©|»7¬a±t¹ºÈ3³·X¬a¶�¾D³²¹h¿V¼D¬:±PÉRª:³Ã»%±_¯�·�¾D¬s±t·Lª:·X¬�¯rÅu·X¾D¬sªr©�·�Èl©Æªl»7¼Ãª:ĺÄqÂ�¹q«­ÊD©�¯rÌV¬a±PÀ

¨D©Lªr«~¬S®�¯3©X°²±|ªr©�¬�³D¯3·{Äq¹º«­¹q·X¬:»­·X¯}¼Ã±t¬�©¹q³7·�¬S©tÅ�ª3¶P¬:±NÉ'´D¼D·Ï¶Sªr³�´Ã¬�ªrÊDʲĺ¹º¬a»%·X¯zª:³7ªr©�¬:ª­¯rŦ±t¯rÅ�·_®Øªr©X¬�»R¬:±t¹qÈl³AÀ�Á�¾D¬SÂ}¾ÃªSÌV¬I´Ã¬S¬S³ ªrÊDÊDÄq¹º¬:»%·�¯ � � � ��©�¯l¼D·�¹º³DÈ}ªrÄqÈl¯3©X¹º·�¾D«�±+���¯�± ,�!=0�ÉV·X¯{¾RÂRÊͬ�©X«­¬:»R¹hª�±t²±t·X¬�«�±$+ Î%¬S ���)0)ÉV·�¯I±t·�©X¼Ã¶N·X¼D©�¬:»­»7©Æªa®�¹q³DÈ{¬a»7¹º·�¯l©L±$+ � � �=,RÉ�|Äq¹ ,�!VÉ � :, 0 0�É�¯lÊìS©Æªr·�¹º³DÈ�±t²±t·�¬S«�± + 7 ��/,7É 7�¼Ã± ,�!=0)É�Êñ_ÂD¶L¾D¯lʲ¾7²±t¹q¯lĺ¯3Èl¹�¶SªrÄ|¬ 97ÊìS©�¹º¸«­¬S³R·L±$+ ¨½¯V¯ ���=0�É7³D¬S·_®!¯l©X°~ÊD©X¯3·X¯R¶P¯3ÄÛ±t¯rÅ�·_®Øªr©X¬ + � VÑ>,=<=0)ɲªr³Ã»­«�ª:³7¼RÅ�ªl¶P·�¼D©X¹q³DÈI¶P¯3³7·�©X¯3Ä+ �Ƕ�¾,/<)0)É7·�¯�«~¬S³7·�¹º¯3³�ªÏÅ�¬S®�À�¨D©Æªr«­¬S®!¯l©�°D±�»7¯I³D¯3·�¬�ÌV¬S³�©�¬:¿V¼D¹º©�¬�ªr³�¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»ÊD©�¯lÈl©Æªr«­«~¹º³DÈ|Ä�ªr³DÈ3¼ÃªrÈ3¬VÀ!¨½¯3©�¬)9²ªr«~ÊDĺ¬VÉ:·X¾²¬ ��¬S³D¬:±_¹h±�»Dªr·Æªr´Ãª3±t¬s±t²±t·�¬S« ¶P¯l«­Ê²¹ºÄº¬�©F¹�±ª{Å�©Lªr«~¬S®�¯3©X°�Å�¯3©|»Dª:·Lª:´Ãªl±_¬I«�ªr³Ãª:Èl¬S«~¬S³7·Ø±t²±t·�¬S«�± + ��ª:· ���7É � � 7 � �=,=0Ûª3±�®�¬�ĺÄÛªl±Bª·X¯V¯3Ä�Å�¯3©�±tÊì:¶P¹yÅ�Â7¹q³DÈI¾D¯:® ��Î �DZ�ªr©X¬�´D¼²¹ºÄº·�Å�©�¯l« ·�¾D¬Å�©Æªr«­¬�®�¯l©�°4+ � � , � 0)À ��¬S³²¬:±t¹�±

Page 8: Components, frameworks, patterns [ralph e. johnson]

»7¯V¬:±I³D¯3·�¼Ã±_¬}ªr³�¯3´Dµ_¬:¶P·�¸�¯3©X¹º¬�³7·�¬:»�Ähªr³²Èl¼Ãª:Èl¬%´²¼D·�©Æªr·�¾D¬S©�ªz«�ªl¶P©�¯zÊD©X¯R¶N¬:±X±_¯l©~ªr³Ã»¶P¯3³Ã»7¹º·�¹º¯3³ÃªrÄÛ¶P¯3«­ÊD¹qÄhªr·�¹º¯3³�·�¯�¹q«­ÊDĺ¬�«�¬S³V·!ª:³�¯3´Dµ_¬:¶P·�¸�¯3©X¹º¬�³7·�¬:»­»7¬:±_¹ºÈ3³%¹º³��À

Á�¾D¬�¹º«­Êï3©X·Lª:³7·Ø¶PÄhª3±X±_¬:±¦¹q³}ªÏÅ�©Æªr«­¬S®!¯l©�°'ÉR±t¼½¶�¾}ªl± � �06���� É $& 3� � É�ªr³½» � ��-+" � ��� � ���¯rÅ�Î%¯R»7¬SÄ � �|¹q¬S®���¯3³7·�©X¯lÄqĺ¬S©�ÉVªr©�¬|¼Ã±_¼ÃªrÄqĺÂ�ªr´½±t·X©Æªl¶P·�À � ¹º°V¬�Î%¯R»7¬�Ä�� �B¹º¬S®���¯l³R·X©X¯3ĺÄq¬S©Sɪ�Å�©Lª:«­¬S®!¯l©X°�¼Ã±_¼ÃªrÄqĺ ¶P¯l«­¬a±®�¹º·�¾�ª ��*� "!+* � � � � � � � � �� � ·�¾Ãªr·~¶P¯l³R·Lª:¹º³Ã±I¶N¯l³Ã¶P©�¬S·X¬±t¼²´'¶NÄhªl±�±t¬:±]¯:Å'·�¾D¬�¶PÄ�ªl±X±_¬:±F¹q³I·X¾D¬�Å�©Æªr«­¬S®!¯l©�°'ÀÛË�Äq·X¾D¯3¼DÈl¾~ª�Èl¯V¯R»~¶P¯l«­Êï3³D¬S³R·]ĺ¹q´D©Lª:©X¹h±�ª­¶P©�¼Ã¶P¹�ªrÄ?¶P¯l«­Ê½ªr³D¹q¯l³%·�¯�ª�Å�©Æªr«­¬S®!¯l©�°'ÉD·�¾D¬I¬:±X±_¬S³Ã¶P¬s¯rÅت�Å�©Æªr«­¬S®!¯l©�°­¹h±�³²¯l·|·�¾D¬¶P¯3«­Êïl³D¬S³R·{Äq¹º´D©Æªr©�ÂVÉ]´D¼D·I·�¾D¬�«­¯R»7¬SÄ!¯rÅB¹º³R·X¬S©Æªl¶P·�¹º¯l³ ªr³Ã»�¶P¯l³R·X©�¯lÄ�Öï:® ªr«­¯3³DÈz¹º·Æ±¯l´Dµ_¬a¶P·L±NÀ

Ë Å�©Æªr«­¬S®!¯l©�°­©X¬S¼½±t¬:±|¶N¯R»7¬I´Ã¬:¶Sªr¼½±t¬I¹º·�«�ª:°V¬:±�¹º·|¬aªl±tÂ}·X¯­´²¼D¹ºÄ�»%ªr³�ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³Å�©X¯3«�ª­Äº¹q´D©Lª:©XÂ�¯rÅج)9R¹h±t·�¹º³DÈ~¶P¯3«­Êïl³D¬S³R·L±NÀ{Á�¾²¬:±t¬~¶P¯l«~Êͯ3³D¬S³R·L±�¶Sªr³�´Ã¬I¬:ªl±_¹ºÄqÂ%¼Ã±_¬:»®�¹º·�¾Ð¬:ª3¶�¾ ¯l·�¾D¬S©}´Í¬a¶Sªr¼Ã±_¬�·�¾D¬S ªrĺÄs¼Ã±t¬·�¾D¬¹º³R·X¬S©_Å�ªl¶P¬:±­¯:Å­·�¾D¬�Å�©Lªr«~¬S®�¯3©X°�À�ËÅ�©Lª:«­¬S®!¯l©X°�ªrÄh±_¯�©X¬S¼Ã±_¬:±|¶P¯R»R¬I´Í¬a¶Sªr¼Ã±_¬�ª­³D¬S®,¶P¯l«~Êͯ3³D¬S³R·|¶�ªr³z¹º³²¾D¬S©X¹q·�«~¯V±t·B¯rÅ!¹º·Æ±¹º«~ÊDĺ¬S«�¬N³7·Æªr·X¹q¯l³�Å�©X¯l« ªr³�ªr´Ã±_·X©Lª3¶P·�±t¼²Êͬ�©L¶PÄ�ªl±X±NÀ>��¼D·�©X¬S¼½±t¬|¹�±u´Ã¬:±_·�®�¾D¬�³­ÂV¯l¼�»R¯l³ 3 ·¾ÃªSÌV¬�·X¯I¼D³Ã»R¬S©L±_·Lªr³½»�·�¾D¬�¶P¯3«­Êïl³D¬�³7·�ÂV¯l¼}ª:©X¬|©�¬S¼Ã±t¹q³DÈDɲªr³Ã»­¹q³D¾D¬S©�¹º·Lª:³Ã¶P¬�©X¬:¿V¼D¹q©X¬:±!ª»7¬S¬�Êͬ�© ¼²³Ã»7¬S©Æ±t·Lª:³Ã»7¹q³DÈI¯rÅ?ªI¶PÄ�ªl±�± ·X¾½ªr·�¼Ã±_¹º³DÈs¹º·�ª3±�ªI¶P¯3«­Êïl³D¬�³7·�É7±_¯{¹q·�¹h±�´Ã¬S·X·�¬S©�·�¯©X¬�¼Ã±t¬|¬ 97¹�±t·X¹q³DÈ�¶P¯3«­Êïl³D¬S³R·L±�·X¾Ãª:³%·�¯�«�ª:°V¬|ªI³D¬S® ¯l³²¬VÀ

� Å?¶P¯l¼D©Æ±t¬VÉR·X¾D¬B«�ªr¹q³�©�¬:ªl±_¯l³�·X¾Ãª:·�ªÅ�©Lª:«­¬S®�¯3©X°I¬S³½ªr´DÄq¬:±�¶P¯R»R¬©�¬S¼Ã±_¬|¹h±�´Í¬a¶Sªr¼Ã±_¬¹º·Û¹h±Ûª�©�¬S¼Ã±Xª:´Dĺ¬Ø»7¬:±_¹ºÈl³0À �)·Fʲ©X¯:Ì7¹�»7¬:±A©X¬S¼½±Xªr´²Äº¬�ªr´½±t·X©Æªl¶P·uªrĺÈ3¯l©�¹º·X¾²«�±Fª:³Ã»Iª�¾D¹qÈl¾D¸�ĺ¬�ÌV¬SÄ»7¬:±_¹ºÈ3³�·�¾Ãªr·�»R¬:¶P¯l«~Êͯ�±t¬:±!ª�Ä�ªr©�Èl¬s±t²±t·�¬S«�¹q³7·�¯�±t«�ª:ĺÄq¬S©!¶P¯l«­Êï3³D¬S³R·L±�ª:³Ã»�»7¬:±�¶P©X¹q´Í¬a±·X¾²¬�¹º³R·X¬S©�³ÃªrÄD¹q³7·�¬S©tÅ�ª3¶P¬:±F´Ã¬S·_®!¬S¬S³�¶P¯3«­Êïl³D¬S³R·L±NÀ]Á�¾D¬a±t¬B±t·Lª:³Ã»Dª:©L»�¹q³7·�¬S©tÅ�ª3¶P¬:±F«�ª:°V¬�¹q·ÊïV±�±t¹º´²Äº¬|·�¯{«­¹ 9{ª:³Ã»­«�ªr·Æ¶�¾�¶N¯l«­Êïl³²¬S³7·Æ±PÉRªr³½»�·X¯I´D¼²¹ºÄh»�ª®�¹�»7¬�Ìlª:©X¹q¬S·_ÂI¯rÅ?±t²±t·�¬S«�±Å�©X¯3«Ôªzª%±_«�ªrÄqÄ ³R¼D«�´Ã¬S©|¯rÅ�¬ 97¹�±t·X¹q³DÈ}¶P¯l«~Êͯ3³D¬S³R·L±NÀ���¬�®�¶P¯3«­Êïl³D¬S³R·L±�·X¾Ãª:·{«­¬�¬S··X¾²¬:±t¬�¹º³R·X¬�©tÅ�ªl¶N¬:± ®�¹qĺÄÍÒ½·�¹q³7·�¯I·X¾D¬|Å�©Lª:«­¬S®!¯l©X°�ÉD±_¯­¶N¯l«­Êïl³²¬S³7·�»R¬:±t¹qÈl³D¬S©Æ±�ªrÄ�±t¯�©X¬S¼Ã±_¬·X¾²¬{»R¬:±t¹qÈl³�¯rÅuªÏÅ�©Æªr«­¬�®�¯l©�°'À

¨F¹º³½ªrĺÄqÂVÉRªÏÅ�©Æªr«­¬�®�¯l©�°I©X¬S¼½±t¬:±�ª:³ÃªrÄqÂD±_¹h±PÀ �)·�»7¬:±�¶P©X¹q´Í¬a± ·X¾²¬°R¹º³½»D±�¯rÅ�¯3´Dµ_¬:¶P·Æ±�·X¾Ãª:·ªr©�¬%¹q«­Êïl©X·Æªr³R·­ª:³Ã»�ÊD©�¯rÌR¹h»R¬:±Iª�ÌV¯R¶Sª:´D¼DÄhª:©XÂÅ�¯l©�·LªrÄq°7¹q³DȪ:´Í¯3¼D·�ª�ʲ©X¯l´²Äº¬S«zÀ"Ë�³¬)9RÊìS©X·s¹º³�ª ʽªr©X·�¹h¶P¼²Ähªr©{Å�©Æªr«­¬�®�¯l©�°�±_¬S¬:±{·�¾D¬�®�¯l©�Äh»�¹º³·�¬S©X«�±�¯rÅ�·�¾D¬­Å�©Lª:«­¬S®�¯3©X°�ɪr³½»�®�¹ºÄqÄ ³½ªr·X¼²©LªrÄqĺ »7¹ºÌR¹h»R¬�¹q·¹q³7·�¯%·�¾D¬�±Xª:«­¬~¶P¯l«­Êï3³D¬S³R·L±PÀ}Á�®�¯z¬ 97ÊìS©�·¼½±t¬S©Æ±{¯rÅ·X¾²¬�±Xªr«~¬�Å�©Lªr«~¬S®�¯3©X°�®�¹ºÄqÄ7ÒóûI¹º·]¬aªl±t¹q¬S©]·�¯¼²³Ã»7¬S©Æ±t·Lª:³Ã»�¬:ª3¶�¾I¯3·X¾D¬�©)3é±�»7¬a±t¹ºÈ3³Ã±PÉR±_¹º³Ã¶P¬·X¾²¬SÂI®�¹ºÄqÄA¶P¯3«­¬�¼DÊ�®�¹º·�¾�±t¹q«­¹ºÄ�ªr©!¶P¯l«~Êͯ3³D¬S³R·L±�ªr³½»�®�¹qĺÄ�»7¬:±�¶P©X¹q´Ã¬|·X¾D¬�±t²±t·X¬�«�±]·X¾D¬S®�ª:³7·�·�¯I´D¼D¹qÄh»­¹º³}±t¹q«­¹ºÄ�ªr©�®�ªS²±PÀ

Ë�³Ãª:ĺ²±t¹h±NÉD»7¬a±t¹ºÈ3³AÉ�ªr³Ã»}¶P¯R»7¬{©�¬S¼Ã±_¬{ª:©X¬ÏªrĺÄA¹q«­Êïl©�·Lªr³R·SÉR·X¾D¯3¼DÈl¾z¹q³�·X¾D¬sĺ¯l³²È�©�¼D³¹º·I¹�±{ÊD©X¯3´Ãªr´²ÄºÂ·X¾D¬ ªr³Ãª:ĺ²±t¹�±�ª:³Ã»�»7¬a±t¹ºÈ3³�©�¬S¼Ã±t¬�·�¾Ãªr·�ÊD©X¯:ÌR¹h»7¬�·�¾D¬%´D¹qÈlÈ3¬:±t·�ÊêSÂV¯1�+ � 7���� 0�À

� �z¡��6� � � ¢�¡�4� "�$#���  ���¡�� ��§:�4( �Á�¾D¬�¹h»R¬:ªrÄ3©X¬S¼Ã±_¬]·X¬a¶�¾D³²¹h¿V¼D¬]¹h±Aª�¶N¯l«­Êïl³²¬S³7·�·X¾Ãª:·A¬)9²ªl¶P·�ĺÂ�Ò÷L±'ÂV¯3¼D©A³D¬S¬:»²±Aªr³Ã»s¶Sªr³�´Ã¬¼Ã±_¬:»�®�¹q·X¾D¯3¼D·�´Ã¬S¹º³²ÈI¶P¼Ã±_·X¯3«­¹ºÕS¬a»¯l©�Å�¯3©L¶P¹q³DÈ�ÂV¯l¼­·�¯{Äq¬:ªr©�³­¾D¯:®�·X¯s¼Ã±t¬|¹q·SÀ ��¯:®�¬SÌV¬S©�ɪ�¶P¯l«~Êͯ3³D¬S³R·|·X¾½ªr·|Ò÷L±|·�¯R»DªS 3�±�³²¬S¬:»D±|ÊìS©tÅ�¬a¶P·XÄqÂ�«~¹ºÈl¾R·�³D¯l·�Ò÷�·X¯l«~¯l©X©�¯:® 3é±PÀÏÁ�¾D¬

Page 9: Components, frameworks, patterns [ralph e. johnson]

«­¯3©X¬�¶P¼Ã±_·X¯3«­¹ºÕ:ª:´Dĺ¬�ªs¶P¯l«~Êͯ3³D¬S³R·]¹h±NÉ7·�¾D¬�«~¯l©X¬�Äq¹º°V¬SÄqÂ{¹q· ¹�±]·X¯{®!¯l©�°�¹q³­ª�Êêr©�·X¹h¶N¼DÄhª:©±t¹q·X¼Ãª:·X¹q¯l³AÉD´D¼²·�·X¾D¬�«­¯3©X¬|®!¯l©X°~¹º·�·Lª:°V¬:±�·X¯I¼½±t¬{¹q·�ªr³Ã»­·�¯�Äq¬:ªr©�³�·�¯�¼½±t¬�¹º·�À

¨D©Lªr«~¬S®�¯3©X°²±�ªr©X¬Ïª­¶P¯3«­Êïl³D¬S³R·�¹º³}·X¾D¬Ï±t¬S³½±t¬{·�¾Ãªr·BÌV¬S³Ã»7¬S©Æ±�±t¬SÄqÄA·X¾D¬�«�ª3±�ÊD©�¯R»7¸¼Ã¶P·Æ±PÉ!ªr³Ã»�ªr³"ªrÊDÊDÄq¹h¶Sª:·X¹q¯l³�«~¹ºÈl¾R·{¼½±t¬}±t¬SÌV¬�©LªrÄ�Å�©Æªr«­¬�®�¯l©�°D±�´Ã¯l¼DÈ3¾7·�Å�©�¯l« Ì3ª:©X¹º¯3¼Ã±ÌV¬S³Ã»R¬S©L±NÀ���¼²· Å�©Lª:«­¬S®!¯l©X°²±]ª:©X¬|«�¼Ã¶L¾{«­¯3©X¬�¶P¼Ã±_·X¯3«­¹ºÕ:ª:´Dĺ¬�·�¾Ãªr³~«­¯V±_·�¶N¯l«­Êïl³²¬S³7·Æ±PÀË|±�ª�¶P¯l³½±t¬:¿V¼D¬S³Ã¶N¬VÉD¼Ã±t¹q³DÈ~ªÏÅ�©Æªr«­¬S®!¯l©�°­·Lª:°V¬:±�®�¯3©X°�¬SÌV¬S³�®�¾D¬S³}ÂV¯l¼�°R³D¯:®Ð¹º·�Éêr³Ã»Äº¬aªr©X³²¹º³DÈ}ª­³D¬S®=Å�©Æªr«­¬S®!¯l©�°�¹�±¾Ãª:©L»'À8�)³�©X¬S·�¼D©X³0É0Å�©Æªr«­¬�®�¯l©�°D±Bªr©X¬~Êͯ:®!¬S©tÅ�¼DÄ�×A·X¾D¬S¶Sª:³�´Ã¬s¼Ã±t¬:»­Å�¯l©�µ_¼Ã±t·Bªr´Ã¯3¼D·�ªr³R­°R¹º³Ã»­¯:Å!ªrÊDʲĺ¹h¶�ªr·X¹q¯l³ ªr³Ã»}ª�È3¯V¯R» Å�©Æªr«­¬S®!¯l©�°­¶Sª:³©X¬a»7¼Ã¶P¬|·�¾D¬sªr«­¯3¼D³R·�¯rÅu¬2��¯l©X·�·�¯­»R¬SÌV¬Sĺ¯3Ê�¶P¼Ã±_·X¯3«­¹ºÕS¬a»�ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³Ã±�´7Â�ªr³�¯l©Æ»7¬S©�¯rÅ«�ª:Èl³D¹q·X¼Ã»7¬�À

�)·­¹h±­ÊD©�¯l´Ãª:´DĺÂ�´Ã¬S·�·X¬S©�·X¯·�¾D¹º³D°�¯rÅsÅ�©Lªr«~¬S®�¯3©X°²±­ªr³Ã» ¶P¯3«­Êïl³D¬S³R·L±~ªl±%»R¹ ��¬S©X¸¬S³R·SÉôD¼D·�¶N¯V¯lÊìS©Lª:·X¹q³DÈDÉA·X¬a¶�¾D³²¯lĺ¯3Èl¹q¬:±PÀB¨F¹º©Æ±t·SÉÃÅ�©Lªr«~¬S®�¯3©X°²±¦ÊD©�¯:Ì7¹�»7¬Iª�©�¬S¼Ã±�ªr´DÄq¬�¶P¯l³D¸·X¬ 97·�Å�¯l©s¶P¯3«­Êïl³D¬S³R·L±NÀ�Ñ�ªl¶L¾�¶P¯l«­Êï3³D¬S³R·�«�ª:°V¬:±�ªl±X±_¼D«­ÊD·�¹º¯3³Ã±|ªr´Ã¯3¼D·{¹q·L±�¬S³RÌR¹º©X¯3³D¸«­¬S³R·SÀ���Å�¶N¯l«­Êïl³²¬S³7·Æ±¦«�ªr°V¬I»R¹ ��¬S©X¬�³7·Bªl±�±t¼D«­Ê²·X¹º¯3³Ã±|·X¾D¬�³z¹º·|¹�±�¾Ãªr©Æ» ·�¯­¼Ã±_¬�·�¾D¬S«·X¯3Èl¬S·�¾D¬S© + ��¬S© ,�!)0)À�Ë Å�©Lª:«­¬S®�¯3©X°­®�¹qĺÄAÊD©�¯:Ì7¹�»7¬sª­±t·Æªr³Ã»Dª:©L»%®Øªa­Å�¯3©|¶P¯3«­Êïl³D¬�³7·Æ±¦·�¯¾Ãª:³Ã»7ĺ¬�¬S©�©X¯3©L±PÉ÷X¯�¬)9²¶�¾½ªr³DÈ3¬{»²ªr·LªRÉAªr³½»�·X¯�¹º³RÌV¯l°V¬B¯lÊìS©Lª:·X¹q¯l³Ã±�¯3³z¬:ªl¶L¾�¯l·�¾D¬S©SÀØÁ�¾D¬±t¯~¶Sª:ĺĺ¬a» � ¶P¯3«­Êïl³D¬�³7·�±_ÂD±_·X¬S«�±�Ó{±_¼Ã¶�¾}ª3± ��� Ñ�É � ÊìS³�¯R¶lÉ'ª:³Ã»���¬aªr³Ã±NÉêr©X¬�©�¬:ªrÄqĺÂÅ�©Lª:«­¬S®!¯l©X°²±�·�¾Ãªr· ±t¯lÄqÌV¬�±_·Lª:³Ã»Dªr©Æ»ÐÊD©X¯3´Dĺ¬S«�±�·�¾Ãªr· ªr©�¹h±t¬ ¹º³ ´D¼D¹ºÄ�»7¹º³²È�¶N¯l«­Êïl¼²³Ã»»7¯R¶P¼²«­¬S³R·L±�ª:³Ã»%¯l·�¾D¬S©B¶P¯l«~Êͯ�±t¹q·X¬�¯l´Dµ_¬:¶N·L±PÀ ��¼D·|ª:³7Â~°7¹q³Ã»�¯:Å]Å�©Lª:«­¬S®�¯3©X°­Ê²©X¯:Ì7¹�»7¬:±·X¾²¬{±_·Lª:³Ã»Dªr©Æ»D±�·X¾Ãª:·�¬S³½ªr´DÄq¬¬ 97¹�±t·X¹q³DÈI¶N¯l«­Êïl³²¬S³7·Æ±�·X¯I´Ã¬{©�¬S¼Ã±_¬:»'À

Ë ±t¬:¶P¯3³Ã»%®�ªS­¹q³%®�¾D¹�¶�¾­Å�©Æªr«­¬S®!¯l©�°D±�ª:³Ã»z¶P¯l«~Êͯ3³D¬S³R·L±�®!¯l©X°�·�¯lÈl¬�·X¾D¬S©B¹h±�·X¾Ãª:·Å�©Lª:«­¬S®!¯l©X°²±I«�ªr°V¬�¹º·~¬:ªl±_¹º¬S©­·�¯�»7¬SÌV¬SÄq¯lÊ�³²¬S®�¶P¯3«­Êïl³D¬�³7·Æ±PÀ,Ë�ÊDÊDÄq¹h¶Sª:·X¹º¯3³Ã±­±_¬S¬S«¹º³RÒóD¹º·�¬Sĺ Ìlª:©X¹�ªr´DÄq¬VÉ�ªr³½»�³D¯�«�ª:·X·X¬�©�¾D¯:® Èl¯V¯R» ª�¶P¯l«~Êͯ3³D¬S³R·Iĺ¹q´D©Lª:©X¹h±Nɦ¹q·�®�¹qĺĬSÌV¬S³R·X¼½ªrĺÄqÂ�³²¬S¬:»%³D¬S®,¶P¯3«­Êïl³D¬�³7·Æ±PÀ|¨D©Æªr«­¬S®!¯l©�°D±�Äq¬S·|¼Ã±�«�ªr°V¬sª�³D¬S®,¶P¯3«­Êïl³D¬�³7·��¹�À ¬VÀÔª�¼Ã±t¬�©z¹º³R·X¬S©_Å�ªl¶P¬��~¯l¼D·�¯rÅ�±t«�ªrĺÄq¬S©}¶P¯l«~Êͯ3³D¬S³R·L± ��¹)À ¬�À ª�®�¹h»RÈl¬S· �LÀ Á�¾D¬SªrÄ�±t¯zÊD©�¯:Ì7¹�»7¬­·X¾²¬%±_Êì:¶P¹vÒͶSªr·�¹º¯l³½±Å�¯l©I³D¬S® ¶P¯3«­Êïl³D¬S³R·L±sªr³Ã»ªz·X¬S«~ÊDÄhª:·X¬IÅ�¯l©I·X¾²¬S¹º©¹º«~ÊDĺ¬S«�¬N³7·Æªr·X¹q¯l³AÀ

¨D©Lªr«~¬S®�¯3©X°²±ª:©X¬}±t¹q«­¹ºÄ�ªr©|·�¯z¯l·�¾D¬S©I·X¬a¶�¾D³²¹h¿V¼D¬:±�Å�¯l©I©�¬S¼Ã±t¹q³DÈz¾D¹qÈl¾D¸�ĺ¬SÌV¬�Ä�»7¬:±_¹ºÈl³0ɱt¼½¶�¾~ªl±�·�¬S«­ÊDÄ�ªr·X¬a± + �VÊì ���DÉ � � �=,=0ïl©�±�¶�¾D¬�«�ªl± + � 7]Á �=,RÉ � � � ��0)À]Á�¾²¬|«�ªr¹q³­»R¹ ��¬S©X¸¬S³Ã¶N¬{¹h±�·X¾Ãª:·�Å�©Æªr«­¬�®�¯l©�°D±Bªr©X¬I¬ 97ÊD©�¬:±X±_¬:»%¹º³�ª­ÊD©�¯lÈ3©Lªr«~«­¹º³DÈ�Ähª:³DÈl¼½ªrÈl¬�ÉF´D¼D·B·X¾D¬:±_¬¯l·�¾D¬S©I®Øªa²±¯:Å�©X¬�¼Ã±t¹q³DÈz¾D¹ºÈ3¾D¸�ĺ¬SÌV¬SÄ!»7¬a±t¹ºÈ3³¼Ã±t¼Ãª:ĺÄq»7¬SÊìS³Ã»�¯3³�ª�±tÊì:¶N¹hªrÄ!ÊD¼D©�Êͯ�±t¬»7¬:±_¹ºÈ3³z³D¯l·Æªr·X¹q¯l³ ªr³Ã»z©X¬a¿Ç¼D¹q©X¬Ï±tÊì:¶P¹�ªrÄ�±_¯rÅ�·_®�ª:©X¬I·X¯V¯3Äh±NÀ�Á�¾²¬{Å�ªl¶P·|·�¾Ãªr·|Å�©Æªr«­¬S®!¯l©�°D±ªr©�¬|ÊD©�¯lÈl©Æªr«�±�«�ªr°V¬a±u·�¾D¬S«�¬:ª3±t¹q¬S© Å�¯3©�ÊD©�¯lÈl©Æªr«­«~¬S©L±]·X¯sĺ¬:ª:©X³�ª:³Ã»­·X¯ÏªrÊDÊDÄqÂVÉ7´²¼D·�¹q·ªrÄ�±t¯�¶Sª:¼Ã±t¬a±�±_¯l«­¬|ʲ©X¯l´²Äº¬S«�±�·X¾Ãª:·�®!¬�®�¹ºÄºÄ0»7¹h±�¶P¼Ã±�±�Ähªr·�¬S©SÀ

¨D©Lªr«~¬S®�¯3©X°²±]ªr©�¬�±t¹q«­¹ºÄ�ªr©]·�¯�ªrÊDÊDÄq¹h¶Sª:·X¹q¯l³­È3¬S³D¬S©Æªr·X¯3©L±�+��ĺ¬ ���10�À�Ë�ÊDÊDÄq¹h¶Sª:·X¹q¯l³�Èl¬S³D¸¬S©Æªr·X¯3©L±Ûªr©�¬�´Ãªl±_¬:»¯3³�ª�¾D¹ºÈ3¾D¸�ĺ¬SÌV¬SÄ�ÉS»7¯3«�ªr¹q³I±_Êͬa¶P¹vÒ�¶]Ä�ªr³DÈ3¼ÃªrÈ3¬�·�¾Ãªr·Û¹h±Û¶P¯l«~ÊD¹ºÄq¬:»�·X¯�ª±t·Æªr³Ã»²ªr©L»�ª:©L¶L¾D¹º·�¬:¶P·X¼²©X¬VÀ �¬:±_¹ºÈ3³D¹º³DÈ�ª{©�¬S¼Ã±�ªr´DÄq¬�¶PÄhª3±X±�ĺ¹º´²©Lªr©�ÂI¹h±�ª�ĺ¯l·!ĺ¹q°V¬|»7¬a±t¹ºÈ3³D¹º³²Èª�ÊD©�¯lÈ3©Lªr«~«­¹º³DÈ�Ähª:³DÈl¼½ªrÈl¬�ÉF¬)9²¶P¬SÊD·�·X¾½ªr·�·X¾D¬I¯3³Dĺ ¶P¯l³½¶P©X¬S·�¬I±_Â7³R·Lª�9z¹h±�·�¾Ãªr·�¯rÅ!·�¾D¬Ähª:³DÈl¼½ªrÈl¬�¹º·?¹h±F¹q«­ÊDĺ¬�«�¬S³V·�¬:»|¹º³AÀ?Ë Å�©Æªr«­¬S®!¯l©�°¹�±�ªrĺ©�¬:ªl»RÂIª|±_·Lªr³½»Dªr©Æ»­ªr©Æ¶�¾D¹q·X¬:¶N·X¼D©�¬VÀÁ�¾R¼Ã±PÉ�¬)9D¶N¬SÊD·IÅ�¯l©}±tÂR³7·Æª19 ª:³Ã» ·�¾D¬%Å�ªl¶N·�·�¾Ãªr·�·�¾D¬�·�©Lª:³Ã±tÄ�ªr·X¯3©�¯rÅ�ª:³Ðª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³Èl¬�³D¬S©Lª:·X¯3©�¶�ªr³IÊìS©tÅ�¯3©X«�¯3ÊD·X¹q«­¹ºÕ:ª:·X¹q¯l³Ã±NÉr·�¾D¬�·_®�¯�·X¬:¶L¾D³D¹�¿Ç¼²¬:±Fª:©X¬B±t¹q«­¹ºÄ�ªr©SÀ0Ë�ĺ·�¾D¯l¼DÈ3¾

,

Page 10: Components, frameworks, patterns [ralph e. johnson]

ÊD©�¯l´DÄq¬S« »R¯l«�ª:¹º³�¬)9RÊͬ�©X·L±�¼½±t¼Ãª:ĺĺÂ~ÊD©X¬PÅ�¬�©�·X¾D¬S¹q©�¯:®�³z±_Â7³R·Lª�9'ÉD¬ 97ÊìS©�·�ÊD©X¯3Èl©Lª:«­«­¬S©Æ±¼Ã±_¼ÃªrÄqĺÂIÊD©�¬PÅ�¬S©]Å�©Lª:«­¬S®�¯3©X°²±]´Í¬a¶Sªr¼Ã±_¬|·X¾²¬S­ª:©X¬|¬aªl±t¹q¬S©�·X¯I¬)9R·X¬�³Ã»�ª:³Ã»�¶P¯l«�´D¹q³D¬�·�¾Ãªr³ªrʲÊDĺ¹�¶Sªr·�¹º¯l³ Èl¬S³D¬�©Lªr·�¯l©Æ±PÀ �)³�Å�ªl¶N·SÉ�¹º·{¹�±I¶P¯l«~«­¯l³�·X¯�¶P¯3«�´²¹º³D¬IÅ�©Lª:«­¬S®�¯3©X°²±�ªr³Ã»�ª»7¯3«�ªr¹q³D¸)±_Êì:¶P¹vÒͶ�Ä�ªr³DÈ3¼ÃªrÈ3¬VÀ .u©�¯lÈ3©Lªr«�±�¹º³z·�¾D¬{Ä�ªr³DÈ3¼ÃªrÈ3¬­ª:©X¬I·X©Æªr³Ã±_Ähª:·X¬:»%¹q³7·�¯�ª­±t¬�·¯rÅ?¯l´Dµ_¬a¶P·L±�¹q³�·�¾D¬|Å�©Lª:«­¬S®�¯3©X°�À � �V¬S¬|·�¾D¬ �j³R·X¬�©XÊD©�¬S·X¬S©!Êêr·�·X¬S©�³ +���� �� ,=<10 �LÀ

¨D©Lªr«~¬S®�¯3©X°²±�ª:©X¬�ª­°7¹q³Ã»%¯rŦ»7¯l«�ªr¹º³²¸)±_Êͬa¶P¹vÒ�¶sªr©Æ¶�¾D¹q·X¬:¶N·X¼D©�¬8+ ÁA©Lª/, 0 0�À{Á�¾D¬I«�ªr¹º³»7¹��'¬�©X¬S³Ã¶N¬|¹h±�·X¾Ãª:·|ª{Å�©Lª:«­¬S®!¯l©X°�¹h±�¼DÄq·X¹º«�ªr·X¬�ĺÂ�ªr³}¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»­»R¬:±t¹qÈl³AÉî�¾D¹ºÄq¬sª»7¯3«�ªr¹q³D¸)±_Êì:¶P¹vÒͶ|ªr©Æ¶�¾D¹q·X¬:¶N·X¼D©�¬�«­¹qÈl¾R·�³D¯3·�´Ã¬VÀ

.]ªr·�·X¬S©�³Ã±�¾ÃªSÌV¬s©X¬:¶P¬�³7·�ĺ­´Ã¬:¶P¯3«­¬sª­Êͯ3ÊD¼DÄ�ªr©�®�ªSÂ�·X¯­©�¬S¼Ã±_¬�»7¬:±t¹qÈl³z¹q³7Å�¯l©�«�ªr·�¹º¯l³¹º³I·�¾D¬�¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»{¶N¯l«­«�¼D³D¹q·)Â�+���� �� ,=<7É �¯lÊ,��ÍÉ � ,=<DÉ�� �� ,��10�À]Ë�Êêr·�·X¬S©�³¹h±�ªr³}¬:±X±�ªSÂ�·�¾Ãªr·�»7¬:±X¶N©X¹º´Ã¬:±�ªIÊD©X¯3´Dĺ¬S« ·�¯­´Ã¬I±t¯3ĺÌV¬:»�Éê­±t¯3ĺ¼D·�¹º¯l³0É'ª:³Ã»%·X¾D¬Ï¶P¯l³R·X¬ 97·¹º³�®�¾D¹�¶�¾­·�¾Ãªr·Ø±t¯3ĺ¼D·�¹º¯l³~®�¯l©�°D±NÀ>�)·�³Ãª:«­¬:±�ª{·X¬:¶L¾D³D¹�¿Ç¼²¬�ªr³Ã»­»R¬:±X¶P©�¹º´Ã¬:±�¹º·L±!¶P¯V±_·L±!ªr³Ã»´Ã¬S³D¬PÒ½·L±PÀ��¬�ÌV¬Sĺ¯3Êͬ�©L±|®�¾D¯z±_¾Ãªr©�¬­ª�±_¬S·�¯rÅ�Êê:·X·X¬�©X³Ã±|¾ÃªSÌV¬~ª�¶N¯l«­«­¯3³%ÌV¯R¶Sª:´D¼DÄ�ªr©XÂÅ�¯l©!»7¬a±X¶P©�¹º´D¹q³DÈ�·X¾D¬S¹q©!»7¬:±t¹qÈl³Ã±NÉRªr³Ã»­ª:Äh±_¯Iª®ØªSÂI¯rÅÛ«�ª:°7¹q³DÈ�»7¬:±_¹ºÈ3³­·X©Æªl»7¬S¯��0±�¬)97ʲĺ¹h¶N¹º·SÀ.]ª:·X·X¬�©X³Ã±�ª:©X¬s±t¼DʲÊͯ�±t¬:»�·X¯�»7¬a±X¶P©�¹º´Ã¬|©X¬a¶P¼D©X©�¹º³DÈ�±_¯lÄq¼D·X¹q¯l³Ã±�·�¾Ãªr·�¾ÃªSÌV¬�±t·�¯V¯R»�·�¾D¬�·X¬:±_·¯rÅ?·X¹q«­¬VÀ

�V¹º³½¶P¬�±t¯3«­¬FÅ�©Æªr«­¬S®!¯l©�°D±Ã¾ÃªSÌV¬]´Ã¬S¬S³�¹º«­Ê²Äº¬S«�¬S³R·X¬�»�±_¬SÌV¬S©Lª:Äl·�¹º«­¬:±NÉL·X¾D¬SÂB©X¬SÊD©�¬:±t¬�³7·ª�°R¹º³Ã»�¯:ÅDʽªr·X·�¬S©X³0Ér·�¯V¯DÀ���¬S¬VÉPÅ�¯l©A¬ 9Dª:«­ÊDĺ¬�ÉP·X¾²¬�»7¬PÒ󲹺·X¹q¯l³�¯rŽÎ%¯R»7¬SÄ � �|¹q¬S®���¯3³7·�©X¯3ĺĺ¬�©¹º³ ��¼Ã±_¾D«�ª:³D³¬S·SÀ�ªrÄ�À + ��Î47��,��=0)À���¯:®�¬�ÌV¬S©SÉFÅ�©Æªr«­¬S®!¯l©�°D±sªr©X¬}«­¯l©�¬­·X¾½ªr³�µ_¼Ã±_·¹h»R¬:ªl±NÉ�·X¾²¬S ªr©�¬�ª:Äh±t¯"¶P¯R»7¬VÀ Á�¾D¹h±}¶P¯R»7¬�ÊD©X¯:ÌR¹h»7¬a±�ª�®ØªaÂ�¯:Å�·X¬:±_·X¹q³DÈ®�¾D¬S·X¾²¬S©}ª»7¬SÌV¬�ĺ¯lÊìS©�¼²³Ã»7¬S©Æ±t·Lª:³Ã»D±�·�¾D¬Å�©Æªr«­¬�®�¯l©�°'ÉR¬)9²ªr«­ÊDÄq¬:±uÅ�¯3©|ĺ¬aªr©X³²¹º³DÈ�¹º·�Éêr³Ã»zª:³%¯l©Æªl¶PÄq¬Å�¯l©Ûª:³Ã±t®!¬S©X¹q³DÈB¿Ç¼D¬a±t·X¹q¯l³Ã±Ûªr´Ã¯3¼D·]¹º·�À �j³Ïªl»D»R¹º·X¹q¯l³AÉ3¶P¯R»7¬!©X¬S¼½±t¬�¯rÅ�·�¬S³{«�ª:°V¬:±Í¹q·AÊïV±X±_¹º´DÄq¬·X¯I´²¼D¹ºÄ�»�ª�±t¹q«­ÊDÄq¬|ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³%¿V¼D¹�¶�°RĺÂVÉ�ªr³Ã»�·X¾Ãª:·|ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³%¶�ªr³�·X¾D¬�³�È3©X¯:®Ð¹q³7·�¯·X¾²¬�Ò½³ÃªrÄÛª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³%ª3±¦·�¾D¬s»7¬SÌV¬SÄq¯lÊìS©!ĺ¬:ª:©X³Ã±�·�¾D¬|Å�©Lªr«~¬S®�¯3©X°�À

Á�¾D¬�Êêr·�·X¬S©�³Ã±{¹º³�·X¾D¬�´Ã¯V¯l°Ó/�¬:±_¹ºÈl³ .]ª:·X·�¬S©X³Ã±�Ó +�� �� �� ,=<�0�ª:©X¬�¶Nĺ¯V±_¬SĺÂz©�¬SÄhª:·X¬:»·X¯�Å�©Lªr«~¬S®�¯3©X°²±¦¹q³�ªr³D¯3·X¾D¬S©�®ØªaÂ�ÀIÁ�¾D¬:±_¬IÊêr·�·X¬S©�³Ã±|®�¬S©�¬I»7¹�±X¶P¯:ÌV¬S©�¬:»�´RÂ%¬)9²ªr«~¹º³D¹q³DȪ{³R¼D«�´Ã¬S©!¯rÅ]Å�©Æªr«­¬�®�¯l©�°D±NÉDª:³Ã»�®!¬S©X¬s¶L¾D¯V±_¬S³}ªl±�´Ã¬S¹q³DÈI©X¬Sʲ©X¬:±_¬S³7·Æªr·�¹ºÌV¬|¯:Å�©X¬S¼½±Xªr´²Äº¬Vɯl´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»±_¯rÅ�·_®�ª:©X¬VÀ �)³�Èl¬�³D¬S©Lª:Ä)É�ª�±_¹º³DÈ3ĺ¬%Å�©Lª:«­¬S®!¯l©X° ®�¹ºÄºÄB¶P¯3³7·Æªr¹º³�«�ªr³R¯rÅs·�¾D¬zÊêr·�·X¬S©�³Ã±PÉB±t¯�·�¾D¬:±_¬zÊêr·�·X¬S©�³Ã±�ªr©X¬�±_«�ªrÄqĺ¬S©I·�¾Ãªr³�Å�©Lª:«­¬S®!¯l©X°²±PÀ Î%¯3©X¬S¯:ÌV¬S©�É·X¾²¬|»7¬a±t¹ºÈ3³�ʽªr·X·�¬S©X³½±�¶Sª:³D³D¯l·�´Ã¬�¬)9RÊD©X¬:±�±t¬:»�ªl± � ¯3© �V«�ªrĺÄq·Lª:ĺ°s¶PÄhª3±X±_¬:±�ª:³Ã»�·X¾²¬S³µ_¼Ã±_·F©�¬S¼Ã±t¬a»{´7Â�¹º³²¾D¬S©X¹q·Lª:³Ã¶P¬�¯l©�¶N¯l«­ÊïV±_¹º·�¹º¯l³0À ��¯DÉV·X¾D¯�±t¬!Êêr·�·X¬S©�³Ã±]ªr©�¬�«­¯l©�¬!ªr´Ã±_·X©Lª3¶P··X¾½ªr³%Å�©Lª:«­¬S®!¯l©X°²±PÀ�¨D©Lª:«­¬S®!¯l©X°²±�ªr©X¬�ª:·�ª­»7¹���¬S©X¬S³R·�ĺ¬SÌV¬SÄ�¯rÅتr´½±t·X©Æªl¶P·�¹º¯3³�·�¾Ãªr³z·�¾D¬Êê:·X·X¬�©X³Ã±�¹q³%Ó/�¬:±_¹ºÈl³ .]ªr·�·X¬S©�³Ã±XÓRÀ �¬:±t¹qÈl³�Êêr·�·X¬S©�³Ã±�ªr©X¬�·�¾D¬sªr©L¶L¾D¹q·X¬:¶P·�¼D©Lª:Ä'¬SÄq¬S«­¬S³R·L±¯rÅÛÅ�©Lª:«­¬S®!¯l©X°²±PÀ

¨D¯l©�¬)9²ªr«­Ê²Äº¬VÉVÎ%¯R»R¬SÄ�� �|¹º¬S®���¯l³R·X©�¯lĺÄq¬S©�¶�ªr³�´Ã¬{»R¬:¶P¯l«~Êͯ�±t¬:»�¹º³R·X¯I·X¾²©X¬S¬|«�ªrµ_¯l©»7¬:±_¹ºÈ3³�Êêr·�·X¬S©�³Ã±PÉ�ª:³Ã»±t¬SÌV¬�©LªrÄ�Äq¬:±X±�¹º«­Êïl©�·Lª:³7·�¯l³²¬:± +�� �� �� ,=<�0)À4�)·�¼Ã±t¬a±{·X¾D¬ � ´D¸±t¬�©XÌV¬S©!Êêr·�·X¬S©�³%·X¯�¬S³Ã±_¼D©X¬�·�¾Ãªr·�·X¾D¬sÌ7¹q¬S® 3é±�ÊD¹h¶N·X¼D©�¬¯:Å�·X¾²¬«~¯R»7¬SÄA¹h±�¼²Ê%·X¯~»Dª:·X¬VÀ �)·¼Ã±_¬:± ·�¾D¬��¯3«­ÊïV±_¹º·X¬�Êê:·X·X¬�©X³­·�¯{³D¬:±_·�ÌR¹º¬S®�±NÀF¹q· ¼½±t¬:±�·X¾D¬'��·X©Lª:·X¬SÈ3Â�ʽªr·X·�¬S©X³~·X¯{¾½ªaÌV¬ÌR¹º¬S®�±!»7¬Sĺ¬�ÈVªr·�¬�©X¬:±_Êͯ3³Ã±t¹q´D¹ºÄq¹º·_ÂIÅ�¯l©�¾Ãª:³Ã»7ĺ¹q³DÈ�¼Ã±t¬S©�¬�ÌV¬S³7·Æ± ·�¯�·�¾D¬S¹º©Ø¶P¯l³R·X©�¯lÄqĺ¬S©�À

¨D©Lªr«~¬S®�¯3©X°²±|ªr©�¬�Òé�«­ÄºÂ�¹q³�·�¾D¬�«~¹h»D»7Äq¬{¯:Å�©X¬S¼Ã±_¬�·�¬:¶L¾D³D¹h¿V¼D¬:±NÀ�Á�¾D¬SÂ�ªr©�¬�«~¯l©X¬ªr´½±t·X©Æªl¶P·?ªr³½»Öì)9R¹º´DÄq¬ ��ªr³Ã»{¾½ªr©L»R¬S©F·�¯|ĺ¬aªr©X³ �'·�¾Ãªr³�¶P¯3«­Êïl³D¬�³7·Æ±PÉS´D¼D·?«­¯l©�¬�¶N¯l³Ã¶P©�¬S·X¬

� !

Page 11: Components, frameworks, patterns [ralph e. johnson]

ªr³½»�¬:ªl±_¹º¬S©s·X¯z©�¬S¼Ã±t¬~·X¾Ãª:³ª%©LªS® »7¬:±t¹qÈl³ ��´D¼D·sĺ¬:±�±�Öì)9R¹º´²Äº¬~ªr³Ã»�ĺ¬a±X±Äq¹º°V¬SÄqÂ�·X¯z´Ã¬ªrʲÊDĺ¹�¶Sªr´DÄq¬��LÀ Á�¾D¬S ªr©X¬�«­¯�±t·Ï¶P¯l«­Ê½ªr©Lª:´Dĺ¬�·X¯z©�¬S¼Ã±_¬�·�¬:¶L¾D³D¹h¿V¼D¬:±|·�¾Ãªr·I©�¬S¼Ã±t¬~´Í¯3·X¾»7¬:±_¹ºÈ3³�ª:³Ã»�¶P¯R»7¬�É]±t¼½¶�¾ ªl±sªrÊDÊDÄq¹h¶Sª:·X¹q¯l³�Èl¬S³D¬�©Lªr·�¯l©Æ±{ªr³½»�·X¬S«~ÊDÄhª:·X¬:±NÀIÁ�¾D¬S¹q©«�ªrµ_¯l©ªl»RÌlª:³7·ÆªrÈ3¬z¹h±­ª:Äh±t¯ ·X¾D¬S¹q©�«�ªrµ_¯l©�ĺ¹�ªr´D¹qĺ¹º·_Â�×�·X¾²¬SÂ�¶Sªr³�´Ã¬z¹º«~ÊDĺ¬S«�¬S³R·_¬:»�¼Ã±_¹º³DȪ:³7¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»�ʲ©X¯lÈ3©Lª:«­«­¹º³²È�¬S³RÌ7¹q©X¯l³²«­¬S³R·SÉ�±_¹º³Ã¶P¬�·X¾²¬S ªr©�¬�©�¬SÊD©X¬a±t¬S³R·X¬:»�´R ªÊD©�¯lÈl©Æªr«­«~¹º³DÈ�Ähª:³DÈl¼½ªrÈl¬�À

� � ¢ �  ?¢ ¤*� � � �z¡��6� �� ¢�¡�Á�¾D¬S©�¬�ªr©�¬�±t¬�ÌV¬S©Lª:Ä ®ØªSÂD±{·�¯%¼Ã±_¬%ª�Å�©Æªr«­¬�®�¯l©�°'À4�V¯3«­¬�¯:Å|·�¾D¬S«Ô©X¬:¿V¼D¹q©X¬~ª%»7¬S¬�Êͬ�©°R³D¯:®�ĺ¬:»7È3¬�¯:Å�·X¾D¬IÅ�©Lª:«­¬S®!¯l©X°z·�¾Ãªr³ ¯l·X¾²¬S©L±NÀ%Ë�ÄqÄ�¯rÅ�·X¾²¬S«Ôªr©�¬�»7¹ ��¬S©�¬S³R·�Å�©�¯l«�·�¾D¬¼Ã±_¼ÃªrÄ�®�ªSÂ�¯:Ås»7¬SÌV¬�ĺ¯lʲ¹º³DÈ ±t¯:Å�·t®Øªr©�¬%¼Ã±_¹º³DÈ�¯3´Dµ_¬:¶P·�¸�¯3©X¹º¬�³7·�¬:» ·�¬:¶�¾²³D¯lÄq¯lÈlÂ�É�±t¹q³Ã¶P¬}ªrÄqįrÅ�·X¾D¬S«ÔÅ�¯l©L¶N¬%ª:³�ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³�·X¯zÒ÷�·X¾D¬­Å�©Æªr«­¬S®!¯l©�°'À�Á�¾7¼½±PÉ�·�¾D¬}»7¬:±t¹qÈl³�¯rÅ�·�¾D¬ªrʲÊDĺ¹�¶Sªr·�¹º¯l³�«�¼Ã±t·!±_·Lªr©�·�®�¹q·X¾�·X¾²¬{»R¬:±t¹qÈl³%¯:Å]·�¾D¬|Å�©Lª:«­¬S®�¯3©X°�À

Ë�³�ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³{»R¬SÌV¬Sĺ¯3Êì:»�¼Ã±_¹º³DÈBª Å�©Lª:«­¬S®�¯3©X°�¾Ãªl±A·X¾²©X¬S¬]ʽªr©X·Æ±P×l·�¾D¬]Å�©Lª:«­¬S®�¯3©X°�É·X¾²¬�¶P¯l³½¶P©X¬S·�¬�±t¼²´'¶NÄhªl±�±t¬:±�¯:Å]·�¾D¬|Å�©Lª:«­¬S®�¯3©X°�¶PÄ�ªl±�±t¬:±NÉêr³Ã»­¬SÌV¬S©�Â7·�¾D¹º³²È¬�Äh±t¬�À � Ñ]ÌV¬S©�Â7¸·X¾²¹º³DÈ­¬�Äh±t¬aÓ�¼½±t¼Ãª:ĺĺÂ}¹º³Ã¶Nĺ¼Ã»7¬a±|ª�±X¶P©�¹ºÊD·�·X¾½ªr·s±tÊì:¶P¹yÒì:±�®�¾²¹h¶L¾�¶P¯l³Ã¶N©X¬S·�¬�¶PÄhª3±X±t¬a±�®�¹qĺĴ쭼ñ_¬:»ªr³Ã»¾D¯:®�·�¾D¬SÂ�®�¹ºÄºÄ!´Ã¬�¹q³7·�¬S©L¶N¯l³D³D¬a¶P·X¬:»�À4�)·{«­¹qÈl¾R·{ª:Äh±_¯�¹q³Ã¶Pĺ¼½»7¬�¯3´Dµ_¬:¶P·Æ±·X¾½ªr·�¾ÃªSÌV¬�³D¯�©X¬SÄ�ªr·�¹º¯l³½±t¾D¹qÊI·X¯�·X¾D¬�Å�©Lª:«­¬S®!¯l©X°�É:¯l©�·X¾Ãª:·�¼Ã±t¬�¯l³D¬�¯l©�«­¯3©X¬�Å�©Lªr«~¬S®�¯3©X°¯l´Dµ_¬a¶P·L±NÉ7´D¼D·�·�¾Ãªr·�ª:©X¬�³D¯3·�¶SªrÄqĺ¬:»�´RÂ�Å�©Æªr«­¬S®!¯l©�°I¯l´Dµ_¬:¶P·Æ±PÀ � ´Dµ_¬:¶P·Æ± ·�¾Ãªr·�ª:©X¬s¶SªrÄqĺ¬:»´RÂÅ�©Lª:«­¬S®!¯l©X°s¯l´Dµ_¬:¶N·L±]®�¹ºÄqÄ;½ªaÌV¬�·�¯{Êê:©X·�¹h¶P¹qÊêr·�¬�¹q³�·�¾D¬|¶N¯lĺÄ�ªr´Ã¯l©Æªr·�¹ºÌV¬�«­¯R»7¬�Äͯ:ÅA·�¾D¬Å�©Lª:«­¬S®!¯l©X°�ÉRªr³Ã»}±t¯~ªr©�¬Ê½ªr©X·�¯rÅ?·X¾²¬�Å�©Æªr«­¬�®�¯l©�°'À

Á�¾D¬z¬:ª3±t¹º¬a±t·­®Øªa·�¯ ¼½±t¬�ª Å�©Æªr«­¬S®!¯l©�° ¹�±�·X¯ ¶P¯l³D³²¬:¶P·­¬)9R¹h±_·X¹q³DÈ�¶N¯l«­Êïl³²¬S³7·Æ±PÀÁ�¾D¹�±�»7¯V¬a±¦³D¯3·�¶L¾Ãªr³DÈ3¬{·�¾D¬|Å�©Lªr«~¬S®�¯3©X°­¯3©�«�ª:°V¬�ªr³RÂ�³D¬S® ¶N¯l³Ã¶P©�¬S·X¬s±_¼D´�¶PÄhª3±X±t¬a±PÀ$�)·©X¬�¼Ã±t¬:±{·�¾D¬�Å�©Æªr«­¬�®�¯l©�° 3�±¹q³7·�¬S©tÅ�ª3¶P¬:±Iªr³½» ©X¼²Äº¬:±{Å�¯l©~¶P¯l³²³D¬:¶P·�¹º³DÈ�¶P¯3«­Êïl³D¬�³7·Æ±PÉ!ªr³Ã»¹h±�·X¾D¬I«­¯�±t·�ĺ¹q°V¬{´D¼D¹qÄh»7¹q³DÈ�ª­¶N¹º©L¶N¼D¹º·�´Ã¯Vªr©Æ»�´RÂz¶P¯3³D³D¬:¶P·�¹º³DÈ~¹º³R·X¬SÈ3©Lªr·�¬:»%¶N¹º©L¶N¼D¹º·Æ±PÉ'¯3©´D¼D¹qÄh»7¹q³DÈ�ªz·X¯:¾D¯l¼Ã±_¬�Å�©�¯l« � ¬SÈl¯�±PÀ Á�¾D¬zª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³ ʲ©X¯lÈ3©Lª:«­«­¬S©s¯l³DÄq ¾½ªl±�·�¯°R³D¯:® ·�¾Ãªr·�¯3´Dµ_¬:¶P·L±�¯rÅ�·_ÂRÊìIË�ªr©�¬­¶N¯l³D³D¬a¶P·X¬:»�·X¯�¯l´Dµ_¬a¶P·L±�¯:Å�·_ÂRÊͬ��|ÉþD¬�»7¯V¬a±³D¯3·¾ÃªSÌV¬|·�¯�°R³D¯:® ·�¾D¬�¬)9²ªl¶P·�±_Êͬa¶P¹vÒ�¶�ªr·X¹q¯l³�¯rÅuË ªr³Ã» �|À

��¯l·}ª:ĺÄ�Å�©Æªr«­¬S®!¯l©�°D±­¶�ªr³ ®�¯l©�°�·X¾D¹�±­®�ªSÂVÀ ��¯l«­¬S·�¹º«­¬�±I¬SÌV¬S©X³D¬�®�¼Ã±_¬�¯:Å~ªÅ�©Lª:«­¬S®!¯l©X°~©X¬:¿V¼D¹º©�¬:±�³D¬�®=±_¼D´�¶PÄhª3±X±_¬:±|¯rÅ�·�¾D¬{Å�©Lª:«­¬S®!¯l©X°�À�Á�¾Ãª:·Äq¬:ªl»²±�·�¯­·X¾²¬I³D¬)9R·¬:ª3±t¹º¬a±t·�®�ªSÂI·X¯s¼Ã±t¬�ªBÅ�©Æªr«­¬�®�¯l©�°'É3®�¾D¹h¶L¾�¹�± ·�¯I»7¬PÒ½³D¬�³²¬S®�¶P¯3³Ã¶P©�¬S·X¬B±t¼D´�¶PÄ�ªl±�±t¬:±!ªr³Ã»·X¯}¼Ã±t¬�·�¾D¬S«Ô·X¯z¹º«~ÊDĺ¬S«�¬S³V·�ª:³�ªrÊDÊDÄq¹h¶Sª:·X¹q¯l³AÀ ��¼D´�¶PÄhª3±X±t¬a±�ª:©X¬­·�¹ºÈl¾R·XÄqÂ�¶N¯l¼DÊDÄq¬:»�·�¯·X¾²¬S¹º©B±t¼DÊìS©Æ¶PÄhª3±X±_¬:±PÉA±_¯­·X¾²¹h±�®ØªaÂ�¯:Å�¼½±t¹º³²È%ªIÅ�©Lªr«~¬S®�¯3©X°­©�¬:¿Ç¼²¹º©X¬a±¦«­¯3©X¬�°R³D¯:®�ĺ¬:»7È3¬ªr´Ã¯3¼D·{·�¾D¬­ª:´Ã±t·�©Lª3¶P·I¶PÄ�ªl±�±t¬:±|·X¾½ªr³�·�¾D¬�Ò½©L±t·�®ØªaÂ�À­Á�¾D¬~±t¼D´�¶PÄ�ªl±�±t¬:±�«�¼Ã±_·|«­¬S¬�·�·�¾D¬±tÊì:¶N¹vÒ�¶Sª:·X¹q¯l³­¹q«­ÊDĺ¹q¬:»´RÂ�·X¾D¬s±t¼²Êͬ�©L¶PÄ�ªl±X±_¬:±Pɲ±t¯I·�¾D¬�ÊD©X¯3Èl©Lª:«­«­¬S©?«�¼Ã±_·�¼D³Ã»7¬S©Æ±t·Æªr³Ã»·X¾²¬�Å�©Æªr«­¬�®�¯l©�° 3�±]¹º³R·X¬S©_Å�ªl¶P¬:±�¹º³}»7¬S·Æªr¹qÄ)À

Á�¾D¬�®ØªSÂ|¯rÅ�¼Ã±_¹º³DÈBª¦Å�©Lª:«­¬S®!¯l©X°�·X¾½ªr·]©�¬:¿Ç¼²¹º©X¬a±'·X¾D¬!«­¯V±_·A°7³D¯:®�Äq¬:»7Èl¬�¹�±�·�¯|¬)9R·X¬S³Ã»¹º·Û´RÂI¶L¾Ãªr³DÈ3¹º³DÈB·X¾D¬�ª:´Ã±t·�©Lªl¶N·�¶PÄhª3±X±_¬:±]·X¾Ãª:·FÅ�¯l©�«=·X¾²¬�¶P¯l©�¬�¯rÅ0·X¾D¬�Å�©Æªr«­¬�®�¯l©�°'ÉS¼½±t¼Ãª:ĺĺ´RÂ�ª3»D»7¹q³DÈ�³D¬S® ¯lÊìS©Lª:·X¹q¯l³Ã±­¯l©~Ìlª:©X¹�ªr´DÄq¬:±�·�¯�·X¾²¬S«zÀ Á�¾D¹h±I®�ªS¹h±�·X¾D¬}«­¯V±_·�Äq¹º°V¬

� Ö½¬:±t¾D¹q³DÈI¯l¼²·�ªI±t°V¬SÄq¬S·X¯3³­¯rÅuªr³}ªrʲÊDĺ¹�¶Sªr·�¹º¯l³½Ó7À>�)·�¼Ã±t¼½ªrĺÄqÂ�©�¬:¿V¼D¹º©�¬:± ·�¾D¬�±t¯3¼D©L¶N¬{¶N¯R»7¬� �

Page 12: Components, frameworks, patterns [ralph e. johnson]

¯rÅͪØÅ�©Æªr«­¬S®!¯l©�°'ÀAË�ĺ·X¾²¯l¼DÈ3¾{¹º·Û¹h±A·X¾²¬ ¾½ªr©L»R¬:±t·]®ØªSÂ|·X¯�¼Ã±t¬Øª¦Å�©Lª:«­¬S®!¯l©X°�ÉS¹º·A¹�±Fª:Äh±_¯�·�¾D¬«­¯�±t·�Êï:®�¬S©_Å�¼DÄ)À � ³z·�¾D¬{¯3·X¾D¬�©|¾Ãªr³½»'ÉA¶L¾Ãªr³DÈ3¬:±�·�¯­·X¾D¬Ïªr´Ã±_·X©Æªl¶P·s¶PÄ�ªl±X±_¬:±�¶Sªr³z´D©�¬:ªr°¬)9R¹h±_·X¹º³²È�¶P¯l³½¶P©X¬S·�¬�¶PÄhª3±X±_¬:±PÉÛªr³½» ·�¾D¹h±|®�ªSÂ}®�¹ºÄºÄ?³D¯l·�®�¯3©X°z®�¾D¬�³�·�¾D¬�«�ªr¹º³}ÊD¼D©�Êͯ�±t¬¯rÅ?·X¾²¬�Å�©Æªr«­¬�®�¯l©�°�¹�±�·X¯�´D¼D¹qÄh»�¯3Êͬ�³z±t²±t·�¬S«�±NÀ

��Å�ªrÊDʲĺ¹h¶�ªr·X¹q¯l³IÊD©�¯lÈ3©Lªr«~«­¬S©L±Û¶Sª:³I¼Ã±t¬Bª¦Å�©Lª:«­¬S®!¯l©X°�´RÂI¶P¯3³D³D¬:¶N·X¹º³²È�¶P¯l«~Êͯ3³D¬S³R·L±·X¯3Èl¬S·�¾D¬S©|®�¹q·X¾D¯3¼D·�¾ÃªSÌ7¹q³DÈ­·�¯�Äq¯V¯l° ªr·�·X¾D¬�¹º©|¹q«­ÊDĺ¬�«�¬S³V·Æªr·�¹º¯l³�·�¾D¬S³z·X¾²¬{Å�©Lªr«~¬S®�¯3©X°¹h±}ª � ´DÄhª3¶�°R¸�´Ã¯�9²Ó Å�©Lªr«~¬S®�¯3©X°�À ¨½©Æªr«­¬�®�¯l©�°D±­·�¾Ãªr·z©�¬SĺÂ�¯3³Ð¹º³D¾²¬S©X¹q·Lªr³½¶P¬�¼½±t¼Ãª:ĺĺ©X¬a¿Ç¼D¹q©X¬]«~¯l©X¬?°7³D¯:®�Äq¬:»7Èl¬?¯l³{·�¾D¬�Êêr©�·F¯:Å�»7¬SÌV¬�ĺ¯lÊìS©Æ±PÉ:ª:³Ã»{±_¯|ª:©X¬!¶SªrÄqĺ¬:» � ®�¾D¹q·X¬S¸�´Ã¯19²ÓÅ�©Lª:«­¬S®!¯l©X°²±PÀ���Ä�ªl¶L°7¸�´Ã¯19%Å�©Æªr«­¬�®�¯l©�°D±Bªr©X¬~¬:ªl±_¹º¬S©�·X¯�Äq¬:ªr©�³�·X¯�¼Ã±_¬VÉF´D¼²·{®�¾D¹q·X¬S¸�´Ã¯19Å�©Lª:«­¬S®!¯l©X°²±|ª:©X¬­¯:Å�·X¬S³�«~¯l©X¬�Êï:®�¬S©_Å�¼DÄ�¹º³�·�¾D¬­¾Ãª:³Ã»D±{¯rÅ�¬ 97ÊìS©�·L±PÀ ��¼D·�´DÄ�ªl¶L°7¸�´Ã¯19ªr³½» ®�¾D¹q·X¬S¸�´Ã¯19�Å�©Lªr«~¬S®�¯3©X°²±Iªr©X¬ ª�±_Êì:¶P·X©�¼D«zÉ]³D¯3·­ª�»7¹�¶�¾D¯3·X¯3«�ÂVÀ �)·�¹�±I¶P¯l«­«~¯l³Å�¯l©Ïª�Å�©Æªr«­¬S®!¯l©�°z·X¯z´Ã¬­¼Ã±_¬:»�¹º³ ª�´DÄ�ªl¶L°7¸�´Ã¯19�®�ªSÂ�«­¯V±_·�¯rÅ�·X¾²¬­·X¹q«­¬VÉÛªr³Ã»�·X¯z´Ã¬¬)9R·X¬S³½»7¬:»|®�¾D¬S³s·X¾D¬�¯R¶S¶Sª3±t¹q¯l³�»7¬S«�ªr³Ã»D±NÀ � ³²¬�¯rŽ·X¾D¬!´D¹ºÈBªl»7Ì3ª:³7·ÆªrÈl¬a±F¯rÅ�ª�´DÄ�ªl¶L°7¸�´Ã¯19Å�©Lª:«­¬S®!¯l©X°�¯:ÌV¬S©�ªr³ ªrÊDʲĺ¹h¶�ªr·X¹q¯l³}±tÊì:¶N¹vÒ�¶|Ähª:³DÈl¼½ªrÈl¬I¹�±¦·�¾Ãªr·�¹º·�¶�ªr³%´Ã¬s¬)97·�¬S³Ã»7¬a»�´7«�ª:°7¹q³DÈ{³D¬�®Ð¶P¯3³Ã¶P©�¬S·X¬�±_¼D´�¶PÄhª3±X±_¬:±PÀ

��ÅÛª�Å�©Æªr«­¬�®�¯l©�°I¹h±]´DÄ�ªl¶L°7¸�´Ã¯19�¬S³D¯3¼DÈl¾0É7¹º·�¹�± ¼Ã±_¬:»µ_¼Ã±_·�´RÂI¹º³Ã±_·Lªr³R·X¹�ªr·�¹º³DÈs¬)97¹�±t·�¹º³DȶPÄ�ªl±X±_¬:±Iªr³½» ¶N¯l³D³D¬a¶P·X¹q³DÈz·X¾D¬�« ·�¯lÈl¬�·X¾D¬S©�ÀÎzªr³RÂ�¯rÅB·X¾²¬�È3©Lª:ÊD¾D¹h¶�ªrÄ�¼Ã±_¬S©I¹º³R·X¬S©_Å�ªl¶P¬Å�©Lª:«­¬S®!¯l©X°²±�ªr©�¬Iĺ¹q°V¬·�¾D¹h±NÉÍ«~¯V±t·�¼Ã±_¬S©|¹º³R·X¬�©tÅ�ªl¶N¬:±�¯l³DÄqÂz¶P¯3³7·Æªr¹q³%¯l´Dµ_¬a¶P·L±�¯:Å!¬)97¹�±t·�¹º³DȶPÄ�ªl±X±_¬:±PÀ ��¾D¬S³­·�¾D¹h±�¹h±]·X©�¼D¬VÉR¹º·�¹h±�¼Ã±t¼Ãª:ĺÄqÂI¬:ªl±_Â�·�¯{«�ª:°V¬�ªr³�ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³­´D¼D¹qÄh»7¬S©]Å�¯3©·X¾²¬{Å�©Lªr«~¬S®�¯3©X°%·�¾Ãªr·s¶Sª:³�¹º³½±t·Lª:³7·�¹hª:·X¬I·X¾²¬­¶P¯3«­Êïl³D¬�³7·Æ±|ªr³Ã» ¶P¯l³D³²¬:¶P·�·X¾D¬�«zÀIÁ�¾D¹�±«�ª:°V¬:±]·X¾D¬|Å�©Lª:«­¬S®!¯l©X°�¬SÌV¬S³~¬:ªl±_¹º¬S©�·�¯I¼Ã±t¬s´7Â�³D¯:Ì7¹�¶P¬:±NÀ

Ë�ĺÄA·�¾D¬:±_¬I®�ªSÂD±�¯rÅ!¼Ã±t¹q³DÈ�ª�Å�©Æªr«­¬�®�¯l©�°�©X¬:¿V¼D¹º©�¬{«�ª:ÊDÊD¹q³DÈ�·�¾D¬I±_·X©�¼Ã¶P·X¼²©X¬I¯rÅ!·�¾D¬ÊD©�¯l´DÄq¬S«�·X¯s´Í¬�±t¯lÄqÌV¬:»I¯l³R·X¯{·�¾D¬�±_·X©X¼½¶P·X¼D©�¬�¯:Å]·�¾D¬�Å�©Lªr«~¬S®�¯3©X°�ÀFË�Å�©Lªr«~¬S®�¯3©X°Å�¯3©L¶P¬a±·X¾²¬�ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³�·X¯�©X¬S¼Ã±_¬�¹q·L±A»7¬:±_¹ºÈ3³AÀ]Á�¾D¬!¬)9R¹h±t·�¹º³DÈ!¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»�»7¬:±_¹ºÈ3³{«­¬S·�¾D¯R»D±¼Ã±_¼ÃªrÄqĺÂ�±t·Æªr©�·I®�¹º·X¾ ªr³�ªr³Ãª:ĺ²±t¹�±«­¯R»7¬�Ä�ª:³Ã»»7¬S©�¹ºÌV¬I·X¾²¬�»7¬:±_¹ºÈl³�Å�©X¯l« ¹º·SÉÛ´D¼D·s·X¾D¹�±®�¹ºÄqÄl³D¯3·F®!¯l©�°®�¹q·X¾|Å�©Lª:«­¬S®!¯l©X°²±Í¼²³Dĺ¬:±�±�·�¾D¬]Å�©Lª:«­¬S®�¯3©X°B»7¬:±_¹ºÈl³s¹º³7Å�¯3©X«�±Ã·X¾D¬Øªr³Ãª:ĺ²±t¹�±«­¯R»7¬�Ä)À �)³s±tÊD¹q·X¬!¯rÅ÷�¾D¬�¹º«­Êïl©�·Lª:³Ã¶P¬�¯rÅDÅ�©Æªr«­¬�®�¯l©�°D±NÉS«­¯V±_·A¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»|«­¬S·�¾D¯R»D±»7¯s³D¯l·Ø±t¼DÊDÊï3©X·�·X¾²¬S«�ÌV¬S©XÂs®�¬SÄqÄ)À � ³²¬�¬)9²¶P¬Sʲ·X¹º¯3³�¹�±]·X¾D¬ � � 7�ªr«�«­¬S·�¾D¯R» + 7�¬S¬�,���0)À

� � ¢ �  ?¢ � ��I¡¦� � �V¡��6� �� ¢�¡�� ¬:ª:©X³D¹q³DÈ�ª�Å�©Lª:«­¬S®�¯3©X°­¹�±�¾Ãª:©L»7¬S©B·X¾Ãª:³zĺ¬:ª:©X³D¹q³DÈ�ª­©X¬SÈ3¼DÄhª:©�¶PÄ�ªl±X±�ĺ¹º´²©Lªr©�ÂVÉôͬa¶Sªr¼Ã±_¬ÂV¯l¼ ¶Sª:³ 3 ·}ĺ¬:ª:©X³µ_¼Ã±t·}¯l³D¬¶NÄhªl±�±%ª:·zª ·�¹º«­¬�À Á�¾D¬ ¶PÄhª3±X±_¬:±�¹q³Ðª Å�©Æªr«­¬S®!¯l©�°�ªr©�¬»7¬:±_¹ºÈ3³D¬:»·�¯|®�¯3©X°s·X¯lÈ3¬S·X¾²¬S©SÉV±_¯|ÂV¯l¼I¾½ªaÌV¬!·X¯|Äq¬:ªr©�³{·�¾D¬S«,ªrÄqÄêr·]¯3³Ã¶P¬VÀÛÎ%¯3©X¬S¯:ÌV¬S©�Ér·�¾D¬¹º«~Êͯ3©X·Æªr³R·�¶NÄhªl±�±t¬:±!ªr©�¬�ªr´Ã±_·X©Æªl¶P·�ÉD®�¾D¹h¶L¾�«�ªr°V¬:±F·�¾D¬S«�¬SÌV¬S³�¾Ãªr©Æ»7¬S©!·X¯Iĺ¬aªr©X³0À]Á�¾D¬:±_¬¶PÄ�ªl±X±_¬:±�»R¯{³D¯3·�¹º«­ÊDÄq¬S«�¬S³7·?ªrÄqÄ'·�¾D¬|´Ã¬S¾ÃªSÌR¹º¯l©!¯rÅAÅ�©Æªr«­¬S®!¯l©�°�¶P¯l«­Êï3³D¬S³R·L±PÉV´D¼²·�ĺ¬:ªSÌV¬±t¯3«­¬I·X¯�·�¾D¬­¶N¯l³Ã¶P©�¬S·X¬~±t¼²´'¶NÄhªl±�±t¬:±NÉ]±_¯%ÂV¯l¼�¾ÃªSÌV¬I·X¯}ĺ¬:ª:©X³�®�¾Ãªr·s³D¬SÌV¬S©�¶�¾Ãª:³DÈl¬a±�¹q³·X¾²¬�Å�©Æªr«­¬�®�¯l©�°�ªr³Ã»�®�¾Ãªr·�¹h±�Äq¬PÅ�·�·X¯I·�¾D¬s¶P¯l«~Êͯ3³D¬S³R·L±NÀ

¨D©Lªr«~¬S®�¯3©X°²±Iªr©X¬}¬:ªl±_¹º¬S©�·X¯�ĺ¬aªr©X³�¹vÅ�·�¾D¬S¾êSÌV¬�Èl¯V¯R» »7¯R¶P¼D«~¬S³7·Æªr·�¹º¯l³0À Ñ]ÌV¬S³Å�ªr¹q©XÄq ±t¹º«~ÊDĺ¬%Å�©Æªr«­¬S®!¯l©�°D±�ªr©�¬�¬:ª3±t¹º¬�©%·X¯�ĺ¬:ª:©X³Ð¹yÅ�·X¾D¬�©X¬�¹h±�È3¯V¯R» ·�©Lªr¹q³D¹º³²ÈDÉsªr³Ã»¶P¯3«­ÊDĺ¬ 9�Å�©Æªr«­¬�®�¯l©�°D±Û©X¬:¿V¼D¹º©�¬�·X©Æªr¹º³²¹º³DȲÀ ��¼D·�®�¾Ãª:·�ªr©�¬�·�¾D¬B¶�¾Ãª:©Lª3¶P·X¬S©�¹h±_·X¹h¶�±F¯rÅÛÈ3¯V¯R»

� .

Page 13: Components, frameworks, patterns [ralph e. johnson]

»7¯R¶P¼²«­¬S³R·X¹º¯3³­ª:³Ã»�È3¯V¯R» ·�©Lª:¹º³D¹q³DÈ{Å�¯l©�ª{Å�©Lª:«­¬S®�¯3©X° �

Á�¾D¬�´Ã¬:±t·Û®�ªSÂ|·�¯|±_·Lªr©�·FÄq¬:ªr©�³D¹º³²È|ª Å�©Æªr«­¬S®!¯l©�°|¹h±'´RÂ|¬)9²ªr«­Ê²Äº¬VÀ�Î%¯V±_·�Å�©Æªr«­¬S®!¯l©�°D±¶P¯3«­¬�®�¹º·X¾"ª�±t¬�·�¯:Å{¬ 9Dª:«­ÊDĺ¬a±{·X¾Ãª:·­ÂV¯l¼"¶Sªr³ ±_·X¼Ã»7Â�É�ª:³Ã»�·X¾²¯V±t¬z·�¾Ãªr·�»7¯l³ 3 ·�ªr©�¬³D¬:ª:©XÄqÂ{¹º«~Êͯ�±X±_¹º´DÄq¬�·X¯sĺ¬:ª:©X³AÀ?Ñ 9Dª:«­ÊDĺ¬a±Fª:©X¬B¶P¯l³Ã¶N©X¬S·�¬VÉVªr³½»­±t¯�¬:ª3±t¹º¬�© ·�¯�¼D³Ã»7¬S©Æ±t·Æªr³Ã»·X¾½ªr³%·�¾D¬|Å�©Lª:«­¬S®�¯3©X°~ªl±�ª�®�¾²¯lĺ¬�À�Á�¾D¬�Â�±t¯3ĺÌV¬sª�ʽªr©X·�¹h¶P¼²Ähªr©�ʲ©X¯l´²Äº¬S« ª:³Ã»�ÂV¯3¼z¶Sª:³±t·�¼Ã»7Â�·X¾²¬S¹º©�¬)9R¬:¶P¼²·X¹º¯3³%·�¯�Äq¬:ªr©�³%·X¾²¬Öï:® ¯rÅ!¶N¯l³R·X©X¯3ÄF¹q³Ã±t¹�»7¬{·�¾D¬Å�©Æªr«­¬�®�¯l©�°'À!Á�¾D¬S»7¬S«~¯l³Ã±_·X©Lª:·X¬�´Ã¯l·�¾­¾D¯:®�¯3´Dµ_¬:¶P·Æ±u¹q³�·�¾D¬�Å�©Lª:«­¬S®!¯l©X°s´Ã¬S¾ÃªSÌV¬�ªr³Ã»�¾D¯:®�ÊD©X¯3Èl©Lª:«­«­¬S©Æ±¼Ã±_¬I·X¾D¬{Å�©Æªr«­¬S®!¯l©�°'À��t»R¬:ªrÄqĺÂVÉ�ª�Å�©Lª:«­¬S®!¯l©X°}±_¾D¯l¼DÄ�»z¶P¯l«~¬{®�¹º·�¾�ª�±t¬S·|¯:Å!¬)9Dª:«­ÊDÄq¬:±·X¾½ªr·|©Æªr³DÈ3¬�Å�©�¯l« ·X¾D¬I·�©X¹qÌ7¹�ªrÄÛ·X¯­·�¾D¬�ªl»7Ì3ª:³Ã¶P¬:»'ÉÛª:³Ã»%·X¾D¬a±t¬I¬)9²ªr«­Ê²Äº¬:±�®�¹qĺÄÛ¬)97¬�©L¶P¹�±t¬·X¾²¬�Å�¼²ÄºÄ'©Æªr³DÈ3¬{¯:ÅFÅ�¬:ª:·X¼D©�¬:±�¯rÅu·X¾D¬|Å�©Lª:«­¬S®!¯l©X°�À

Ë�ĺ·�¾D¯l¼²Èl¾�±t¯3«­¬ Å�©Æªr«­¬�®�¯l©�°D±'¾½ªaÌV¬�Äq¹º·�·Xĺ¬!»7¯R¶N¼D«­¬S³R·Lª:·X¹º¯3³{¯3·X¾D¬S©?·X¾Ãª:³I·X¾D¬�±_¯l¼D©Æ¶P¬¶P¯R»7¬�ªr³Ã»�ªz±_¬S·{¯:Å�¬)9²ªr«­ÊDÄq¬:±PÉA¹�»7¬:ªrÄqĺ ª�Å�©Lªr«~¬S®�¯3©X°%®�¹qĺÄ�¾ÃªSÌV¬�ª}¶P¯l«­Ê²Äº¬S·�¬�±t¬S·s¯rÅ»7¯R¶P¼²«­¬S³R·Lªr·�¹º¯3³AÀ]Á�¾D¬s»7¯R¶N¼D«­¬S³R·Lª:·X¹º¯3³�±t¾²¯l¼DÄ�»�¬)9RÊDÄhª:¹º³

� ·X¾D¬�ÊD¼D©�ÊïV±t¬I¯:Å]·�¾D¬|Å�©Lª:«­¬S®�¯3©X°� ¾D¯:®Ð·X¯�¼Ã±t¬�·�¾D¬|Å�©Lªr«~¬S®�¯3©X°� ¾D¯:®Ð·X¾D¬|Å�©Æªr«­¬S®!¯l©�°�®!¯l©X°²±PÀ�)·I±t¬�¬S«�±·�¯�´Ã¬�¾Ãª:©L»�·X¯�¬)9RÊDÄhª:¹º³�·�¾D¬�ÊD¼D©XÊï�±t¬%¯:Åsª�Å�©Lª:«­¬S®!¯l©X°�À�¨D©Æªr«­¬S®!¯l©�°

»7¯R¶P¼²«­¬S³R·Lªr·�¹º¯3³ ¯:Å�·X¬S³"»7¬SÌV¯3ĺÌV¬:±{·�¯%µ�ªr©�Èl¯l³�¯3©­«�ª:©X°V¬S·�¹º³DÈ}ÊD¹º·Æ¶�¾D¬a±PÀ�5�³R·X¹qÄ�ÊìS¯lÊDÄq¬¾Ãª3»z±t¬S¬S³z·�¾D¬IÎzª3¶P¹º³R·X¯�±t¾AÉ�·X¾D¬�¶PÄ�ªr¹q« ·X¾Ãª:·sÎ%¯R»7¬SÄ�� �|¹º¬�®���¯l³R·X©�¯lÄqĺ¬S©�¹º«­Ê²Äº¬S«�¬P³R·X¬a»

� È3©Lª:ÊD¾D¹h¶�ªrÄ�¼Ã±t¬�©¹q³7·�¬S©tÅ�ª3¶P¬:±�Ó­»7¹h»z³D¯3·«�ªr°V¬I±_¬S³Ã±_¬VÉ]ª:³Ã» ¼²³7·�¹ºÄ]ÊìS¯3ÊDĺ¬�·X©�¹º¬:»%·�¯%¹º«~¸ÊDÄq¬S«­¬S³R·�¯3³D¬VÉ]·�¾D¬S »7¹h»7³ 3 ·{¼²³Ã»7¬S©Æ±t·Lª:³Ã»�®�¾7Â�·X¾²¬SÂ�³²¬S¬:»7¬:»�¾D¬SĺÊ0À � Å�·X¬S³�·�¾D¬­´Ã¬:±_·®�ªSÂ�·X¯�ĺ¬:ª:©X³�·X¾²¬©Æªr³DÈ3¬�¯rÅ!ª:ÊDÊDĺ¹�¶Sªr´²¹ºÄº¹q·_ÂI¯rÅuªÏÅ�©Æªr«­¬S®!¯l©�°�¹�±�´7Â�¬)9²ªr«­ÊDÄq¬VÉV®�¾D¹h¶L¾­¹�±ªr³²¯l·X¾²¬S©�©X¬:ª3±t¯3³%®�¾R­¹º·!¾D¬Sĺʽ±�¹vÅ?ª{Å�©Lªr«~¬S®�¯3©X°�¶P¯3«­¬:± ®�¹q·X¾}ª{©X¹�¶�¾�±t¬S·�¯:Å]¬)9²ªr«~ÊDĺ¬:±NÀ

�)·­¹h±­ª:Äh±_¯ ¾½ªr©L» ·X¯�¬)9RÊDÄ�ªr¹º³�¾²¯r® ·X¯¼Ã±_¬�ª�Å�©Lª:«­¬S®!¯l©X°�À 5�³Ã»R¬S©L±_·Lªr³½»7¹º³DÈ·�¾D¬¹º³²³D¬S©�®!¯l©�°7¹q³DÈV±�¯:Å�ªÅ�©Æªr«­¬S®!¯l©�°­»7¯V¬a±¦³D¯3·�·X¬SÄqÄAª:³%ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³�ÊD©X¯3Èl©Lª:«­«­¬S©�®�¾D¹�¶�¾±t¼²´'¶NÄhªl±�±t¬:±�·X¯�«�ªr°V¬VÀ!Á�¾D¬I´Ã¬:±_·|»7¯R¶N¼D«­¬S³R·Lª:·X¹º¯3³z±_¬S¬S«�±�·X¯­´Ã¬Iª�°7¹q³Ã»�¯:Å!¶P¯V¯l°R´Ã¯V¯l°+��¯3« ���VÉ l¯3¾,=.DÉ . � , 0 0)À ��¬SÈl¹q³D³D¹º³²È­ÊD©X¯3Èl©Æªr«­«­¬�©L±�¶Sªr³z¼Ã±_¬­ª�¶P¯V¯3°7´Ã¯V¯3°�·�¯�«�ªr°V¬·X¾²¬S¹º©]ÒéƱt·�ªrʲÊDĺ¹�¶Sªr·�¹º¯l³½±PÉDª:³Ã»­«­¯l©�¬�ªl»RÌlª:³Ã¶P¬:»­ÊD©�¯lÈ3©Lªr«~«­¬S©L±�¶Sª:³­¼Ã±_¬¹q·�·�¯Iĺ¯V¯l°~¼Dʱt¯3ĺ¼D·�¹º¯3³Ã±�·�¯�ʽªr©X·�¹h¶P¼²Ähªr©Iʲ©X¯l´²Äº¬S«�±NÀ �¯V¯3°7´Ã¯V¯3°D±�»7¯3³ 3 ·�¾D¬SÄqÊ ·�¾D¬%«~¯V±t·�ª3»7Ì3ªr³Ã¶N¬:»¼Ã±_¬S©L±NÉD´D¼D·�·X¾²¬SÂ�ªr©�¬�ÌV¬S©XÂ�¹º«­Êï3©X·Lª:³7·�Å�¯l©�´Ã¬SÈl¹q³D³D¬S©Æ±PÀ

Ë�ĺ¯3· ¯:Å'Å�©Æªr«­¬S®!¯l©�°{»R¯R¶P¼D«­¬S³R·Lª:·X¹q¯l³�±t¹q«­ÊDÄqÂ|ĺ¹�±t·L±Û·X¾D¬B¶PÄhª3±X±_¬:±]¹º³I·X¾²¬�Å�©Lªr«~¬S®�¯3©X°ªr³½» ·�¾D¬z«­¬S·�¾D¯R»D±�¯:Å{¬aªl¶L¾ ¶PÄhª3±X±PÀ Á�¾D¹h±­¹h±�³D¯l·�¼Ã±_¬PÅ�¼DÄ|·�¯ ´Ã¬SÈ3¹º³D³²¬S©L±NÉ|ªr³RÂ�«~¯l©X¬·X¾½ªr³}ª{ÊD©X¯3Èl©Æªr«­«­¹q³DÈ{Ä�ªr³DÈ3¼ÃªrÈ3¬I±_·Lªr³½»Dªr©Æ»�¹h±�¼½±t¬PÅ�¼DÄA·�¯�ª{³D¬S® ÊD©X¯3Èl©Æªr«­«­¬�©SÀ ��ÅÛ·�¾D¬ÊD©�¯lÈl©Æªr«­«~¹º³DÈI¬S³RÌR¹º©X¯3³D«­¬S³R·�¾Ãªl±�ª�È3¯V¯R» ´²©X¯:®�±t¬S©�É'¹º·�¹h±_³ 3 ·�«�¼Ã¶�¾~¼Ã±t¬I·�¯�ªr³RÂ7´Ã¯R»7Â�À.]©X¯3Èl©Lª:«­«­¬S©Æ±�³²¬S¬:»{·X¯�¼D³½»7¬S©L±_·Lª:³Ã»�·�¾D¬�Å�©Lªr«~¬S®�¯3©X° 3é±A´D¹ºÈ|ʲ¹h¶P·�¼D©X¬VÀ �¯R¶P¼D«~¬S³7·Æªr·�¹º¯l³·X¾½ªr·Û»7¬:±�¶P©X¹q´Ã¬:±'·X¾D¬�¹q³D³D¬S©�®�¯l©�°7¹q³DÈV±A¯rŽª Å�©Lª:«­¬S®!¯l©X°B±t¾²¯l¼DÄ�»�Å�¯R¶P¼Ã±A¯l³�·�¾D¬�¹º³R·X¬S©Æªl¶P·�¹º¯l³´Ã¬S·_®�¬S¬�³­¯l´Dµ_¬:¶N·L±Pɲªr³Ã»�¾D¯:®Ð©X¬a±tÊïl³Ã±_¹º´D¹qĺ¹q·tÂ�¹h±�ʽªr©X·�¹º·�¹º¯l³²¬:»­´Í¬�·t®!¬S¬S³­·�¾D¬S«zÀ

Á�¾D¬Ò½©L±t·�¼Ã±_¬I¯rÅ!ª�Å�©Æªr«­¬�®�¯l©�°­¹h±�ªrÄq®�ªS²±�ª�Äq¬:ªr©�³D¹º³²ÈI¬)97ÊìS©�¹º¬S³½¶P¬VÀ .]¹h¶L°�ª­±_«�ªrÄqĪrʲÊDĺ¹�¶Sªr·�¹º¯l³0É]ªr³½» ¯3³D¬�·X¾Ãª:·{·�¾D¬�Å�©Lª:«­¬S®!¯l©X°z¹�±¯3´7ÌR¹º¯3¼Ã±tÄqÂ�®!¬SĺÄ!±t¼²¹º·X¬a» Å�¯l©�À���·X¼Ã»7Â

� �

Page 14: Components, frameworks, patterns [ralph e. johnson]

±t¹q«­¹ºÄ�ªr©!¬)9Dª:«­ÊDÄq¬:±�ªr³Ã»z¶N¯lÊRÂ�·�¾D¬S«zÀ$5|±_¬{·�¾D¬I¶P¯V¯3°7´Ã¯V¯3°z·X¯�±_¬S¬I¾D¯:®Ð·X¯~¹º«­ÊDÄq¬S«­¬N³7·¹º³½»7¹ºÌR¹h»7¼½ªrÄ|Å�¬:ªr·�¼D©X¬a±PÀ �V¹º³²Èlĺ¬ ±t·X¬�ÊзX¾D©�¯l¼DÈ3¾=·�¾D¬ªrʲÊDĺ¹�¶Sªr·�¹º¯l³ ·X¯�ĺ¬aªr©X³ ·X¾D¬�Öï:®¯rÅ~¶N¯l³R·X©X¯3Ä)É�´D¼D· »7¯l³ 3 ·z¬)9RÊͬa¶P·�·X¯�¼D³Ã»R¬S©L±_·Lªr³½» ¬�ÌV¬S©XÂR·X¾D¹q³DÈDÀ Á�¾D¬�ʲ¼D©XÊïV±_¬¯rÅ�ªÅ�©Lª:«­¬S®!¯l©X°¹�±�·�¯©X¬S¼Ã±_¬�»R¬:±t¹qÈl³AÉB±t¯�¹yÅI¹q·­¹h±�ª�Èl¯V¯R» Å�©Lª:«­¬S®!¯l©X°�·X¾D¬�³ ·�¾D¬S©X¬z®�¹qĺĴì�Ähªr©�Èl¬�Êê:©X·L±�¯rÅu¹º·L±�»R¬:±t¹qÈl³�·X¾Ãª:·�ÂV¯3¼}¶Sªr³�©X¬�¼Ã±t¬�®�¹º·�¾D¯l¼²·�°R³D¯:®�¹º³DÈ�ª:´Ã¯l¼D·|·�¾D¬S«zÀ

� ³Ã¶P¬�ÂV¯l¼ 3 ÌV¬�´D¼D¹qĺ·�ª:³�ªl¶N·X¼Ãª:Ä'ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³AÉV·X¾D¬�Å�©Lª:«­¬S®!¯l©X°Ï»7¯R¶P¼D«~¬S³7·Æªr·�¹º¯l³I®�¹qĺĴì:¶P¯3«­¬�«­¯l©�¬I¶PÄq¬:ªr©�À��V¹q³Ã¶P¬{·�¾D¬{ÒéƱt·|¼Ã±_¬I¯rÅت�Å�©Lª:«­¬S®�¯3©X°­¹�±�¼Ã±_¼ÃªrÄqĺÂ�·X¾D¬I¾½ªr©L»R¬:±t·�ɹº·�¹�±�ªIÈl¯V¯R»z¹h»R¬:ª�·�¯�¼½±t¬{¹q·�¼²³Ã»7¬S©�·X¾D¬s»7¹q©X¬:¶N·X¹º¯3³�¯rÅتr³}¬)97ÊìS©�·SÀ�Á�¾²¹h±�¹h±�¯l³D¬s¯rÅ�·�¾D¬«�ª:¹º³�©X¬:ª3±t¯3³Ã±|·X¾Ãª:·«~¬S³7·�¯l©�¹º³DÈ�¹h±�±t¯�ÊïlÊD¼²Ähªr©�¹q³z·X¾D¬ �V«�ªrĺÄq·Lª:ĺ°�¶P¯3«­«�¼D³D¹º·�Â'×R¬:ªl¶L¾ÌV¬S©Æ±t¹º¯3³­¯rÅ �V«�ªrÄqĺ·Æªrĺ°�¶N¯l«­¬:±�®�¹º·�¾%ª�±t¬�·�¯rÅ]Å�©Æªr«­¬S®!¯l©�°D±NÉ7ª:³Ã»�Äq¬:ªr©�³D¹º³²ÈI·X¯�ÊD©X¯3Èl©Lª:«¹º³ �V«�ªrÄqĺ·Æªrĺ°�¹h±�Ä�ªr©�Èl¬SÄqÂ�Äq¬:ªr©�³D¹º³DÈI·�¾D¬|Å�©Lª:«­¬S®�¯3©X°²± + � 0�À

¨D©Lªr«~¬S®�¯3©X°²±Aªr©X¬�¶N¯l«­ÊDÄq¬)9�É:ªr³Ã»I¯l³D¬�¯:Å�·X¾D¬!´D¹ºÈ3Èl¬:±_· ʲ©X¯l´²Äº¬S«�±'®�¹q·X¾I«­¯�±t·AÅ�©Lª:«­¬S¸®�¯3©X°²±�¹h±�µ_¼Ã±t·|Äq¬:ªr©�³D¹º³²È­¾D¯:® ·X¯�¼Ã±t¬I·�¾D¬S«zÀB¨D©Lªr«~¬S®�¯3©X°}»7¬SÌV¬SÄq¯lÊìS©Æ±¦³D¬�¬:»�·�¯�«�ªr°V¬±t¼²©X¬{·�¾D¬S »7¯R¶P¼D«­¬�³7·�·�¾D¬S¹º©�Å�©Lªr«~¬S®�¯3©X°­®!¬SĺÄ?ªr³Ã»z»R¬SÌV¬Sĺ¯3Ê%È3¯V¯R»�·X©Æªr¹º³²¹º³DÈ­«�ªr·X¬�©X¹hª:ÄÅ�¯l©!¹º·�À]¨D©Lª:«­¬S®�¯3©X°s¼Ã±t¬S©Æ±�±_¾D¯l¼DÄ�»­ÊDÄhª:³­·X¯Ï»7¬SÌV¯l·�¬�·�¹º«­¬�ª:³Ã»�´D¼½»7Èl¬S·!·X¯IÄq¬:ªr©�³D¹º³DÈ�·�¾D¬Å�©Lª:«­¬S®!¯l©X°�À

� � ¢ �  ?¢ � � �:¤ �I  � � �V¡��6� �� ¢�¡��V¯3«­¬S·X¹q«­¬�±�¹q·]¹h±]¬:ª3±tÂ�·X¯s¶�¾²¯V¯V±t¬�ª�Å�©Lª:«­¬S®!¯l©X°�ÀÛË ¶N¯l«­Êê:³7Â�·�¾Ãªr·!®�ªr³R·L±�·X¯s»7¬SÌV¬�ĺ¯lÊ»7¹�±t·X©�¹º´D¼²·X¬:»sªrÊDÊDÄq¹h¶Sª:·X¹q¯l³Ã±F¯:ÌV¬S©Û·X¾²¬�¹º³R·X¬S©�³D¬S·Û·X¾Ãª:· ©�¼D³I¹º³I®!¬S´I´D©�¯r®�±_¬S©L±Û®�¹ºÄºÄR®�ª:³7·�·�¯¼Ã±_¬' VªSÌ3ª7É�ªr³½»�®�¹ºÄqÄ'ÊD©�¬PÅ�¬S©�±_·Lªr³½»Dªr©Æ»�Å�©Lªr«~¬S®�¯3©X°²±PÀ�Ë ¶P¯l«~Êêr³RÂ�·�¾Ãªr·�¹h±�ÓlÎ%¹�¶P©X¯�±t¯:Å�·±t·Æªr³Ã»²ªr©L»²Ó�®�¹ºÄqÄAÊD©X¬PÅ�¬�©�Îz¨ �·�¯ � � � ¯l©|ÕaË�ÊDÊAÀ!Î%¯V±_·�ªrÊDʲĺ¹h¶�ªr·X¹q¯l³}»7¯3«�ªr¹q³Ã±¦¾½ªaÌV¬³D¯~¶P¯l«~«­¬S©L¶N¹hªrÄqÄyÂ�ªaÌ3ª:¹ºÄhª:´Dĺ¬Ï»7¯l«�ªr¹º³²¸)±_Êͬa¶P¹vÒ�¶�Å�©Æªr«­¬S®!¯l©�°D±NÉêr³Ã»%«�ª:³7Â~¯l·X¾²¬S©L±�¾½ªaÌV¬¯l³²ÄºÂ�¯l³D¬�É'±_¯­·X¾D¬�¶L¾D¯3¹h¶P¬�¹h±�¬S¹q·X¾D¬S©�·�¯­¼Ã±_¬I·X¾Ãª:·|¯l³D¬s¯l©|³²¯l·|·�¯­¼Ã±t¬s¯l³D¬�À ��¼D·�«�ªr³R·X¹q«­¬:±]·X¾²¬S©X¬sªr©�¬s¶P¯l«­ÊìS·�¹º³DÈ�Å�©Lª:«­¬S®�¯3©X°²±Pɲªr³Ã»­·X¾²¬S­«�¼Ã±t·!´Í¬�¬SÌ3ª:ĺ¼Ãª:·X¬:»'À

Îzªr³RÂ}ªl±tÊì:¶N·L±�¯:Å�ªIÅ�©Lªr«~¬S®�¯3©X°�ª:©X¬{¬aªl±tÂ}·X¯­¬�Ìlª:ĺ¼Ãª:·X¬VÀ�ËÐÅ�©Lªr«~¬S®�¯3©X°­³D¬�¬:»D±�·�¯©X¼²³%¯l³}·X¾D¬�©�¹ºÈl¾R·�ÊDÄhª:·tÅ�¯l©�«�±PÉD¼½±t¬�·X¾D¬s©X¹qÈl¾R·�ÊD©X¯3Èl©Lª:«­«­¹q³DÈIÄhª:³DÈl¼Ãª:Èl¬VÉ�ªr³½»z±t¼DÊDÊï3©X··X¾²¬%©X¹qÈl¾R·­±_·Lª:³Ã»Dªr©Æ»D±PÀ � Ås¶P¯3¼D©L±_¬VÉ�¬:ªl¶L¾�¯3©XÈVª:³D¹ºÕaªr·X¹q¯l³�¾Ãª3±�¹º·Æ±�¯:®�³ »7¬PÒ󲹺·X¹q¯l³�¯rÅ

� ©�¹ºÈ3¾7·ÆÓ7ÉV´D¼D·!·X¾D¬:±_¬|¿V¼D¬:±_·X¹q¯l³Ã±�ªr©�¬�¬aªl±tÂ�·X¯sª:³Ã±t®!¬S©SÀ>��ÅA·�¾D¬SÂ�ª:©X¬S³ 3 ·�¹º³�·X¾D¬B»7¯R¶P¼D«~¬S³D¸·Lª:·X¹q¯l³AÉD·�¾D¬�ÌV¬S³Ã»7¯3©�¶Sªr³}ªr³½±t®�¬�©�·X¾D¬S« À

�)·]¹h±F¾½ªr©L»R¬S©]·X¯�·�¬SĺÄR¾D¯:®�©�¬Sĺ¹�ªr´DÄq¬�ª¦Å�©Æªr«­¬S®!¯l©�°¹�±PÉV¾D¯:®®�¬SÄqÄ7¹q·L±]ÌV¬S³Ã»R¯l©�±_¼DÊDÊïl©�·L±¹º·�ÉVªr³½»�®�¾D¬S·�¾D¬S©�·X¾D¬�Òóê:Ä�ªrÊDÊDÄq¹h¶Sª:·X¹q¯l³Ã±�ªr©�¬|±_¼ ��¶P¹º¬S³R·XÄqÂ�¬2��¶N¹º¬S³R·SÀ���¬S³½»7¯l©Æ± ®�¹ºÄqÄD³D¯3·Èl¹qÌV¬�©X¬SÄq¹hªr´²Äº¬!ªr³Ã±_®�¬S©Æ±F·X¯B·X¾D¬:±_¬�¿V¼D¬:±_·X¹º¯3³Ã±PÉ3´D¼D·Û¼Ã±t¼Ãª:ĺÄq·�¾D¬�¬)9R¹h±_·X¹º³²È�¶P¼Ã±t·�¯l«­¬�©L±A®�¹ºÄºÄ�À

Á�¾D¬�¾Ãªr©Æ»7¬:±_·­¿V¼D¬:±_·X¹º¯3³Ã±�ªr©X¬}®�¾D¬S·�¾D¬S©�ª%Å�©Lªr«~¬S®�¯3©X°�¹h±�±t¼D¹q·X¬:»�Å�¯l©�ÂV¯l¼²©IÊD©X¯3´D¸Äº¬�«Ôªr³Ã»�®�¾D¬S·�¾D¬S©I¹q·{«�ª:°V¬:±|·X¾D¬­©�¹ºÈ3¾7·I·�©Lªl»R¬S¯1�0±I´Í¬�·t®!¬S¬S³�Êïr®!¬S©�ªr³½» ±_¹º«­Ê²Äº¹h¶N¹º·_ÂlÀ¨D©Lª:«­¬S®�¯3©X°²±'·X¾Ãª:·!±t¯lÄqÌV¬�·X¬:¶L¾D³D¹�¶SªrÄVʲ©X¯l´²Äº¬S«�±Û±t¼½¶�¾�ª3± »R¹h±t·�©X¹q´D¼D·X¹q¯l³I¯3©]¼Ã±t¬�©]¹º³R·X¬S©_Å�ªl¶P¬»7¬:±_¹ºÈ3³­ª:©X¬�©X¬SÄ�ªr·X¹qÌV¬SĺÂB¬:ªl±_Â�·�¯¬�Ìlª:ĺ¼Ãª:·X¬VÀ?Ñ]ÌV¬S³­±_¯DÉR¹vÅ�ÂV¯l¼~ªr©�¬|»7¹�±t·�©X¹º´²¼D·X¹q³DÈsª±_ÂD±_·X¬S«·X¯I«�ªr°V¬�¹º·�«­¯3©X¬�¶P¯3³Ã¶P¼D©�©X¬S³R·�ª:³Ã»%±_¯�¾½ªr³Ã»7Äq¬�Èl©X¬aªr·X¬�©�·X¾D©�¯l¼DÈ3¾DÊD¼D·�ÉÍÂV¯3¼�«~¹ºÈl¾R· Ò½³Ã»·X¾½ªr·Iª�Êêr©�·X¹�¶P¼DÄhª:©s»7¹h±_·X©X¹q´D¼D·�¹º¯l³�Å�©Lªr«~¬S®�¯3©X°%¹�±|·X¯V¯z¹º³²¬2��¶N¹º¬S³R·SÉ'´Ã¬:¶�ªr¼Ã±_¬­¹º·|Å�¯R¶P¼Ã±_¬:±¯l³�Öì)9R¹º´²¹ºÄº¹q·_Â�ª:³Ã»�¬:ªl±_¬�¯:Å�¼Ã±t¬�¹º³Ã±_·X¬:ª3» ¯:Å~±tÊìS¬:»�À ��¯�Å�©Lª:«­¬S®!¯l©X°�¹h±­Èl¯V¯R» Å�¯3©

��0

Page 15: Components, frameworks, patterns [ralph e. johnson]

¬SÌV¬S©�Â7·�¾D¹º³²ÈDÉêr³½» ¹q·�¶Sªr³z´Ã¬�¾Ãªr©Æ»%·X¯�·X¬�ĺÄÛ®�¾D¬S·X¾²¬S©�ª­Êêr©�·X¹�¶P¼DÄhª:©�Å�©Lª:«­¬S®!¯l©X°~¹h±�®!¬Sĺıt¼²¹º·X¬a»�Å�¯l©Bª�ʽªr©X·�¹h¶P¼²Ähªr©!ÊD©X¯3´Dĺ¬�«zÀ

Á�¾D¬�±_·Lªr³½»Dªr©Æ» ª:ÊDÊD©�¯Vªl¶L¾�Å�¯l©s¬SÌ3ªrĺ¼½ªr·X¹q³DÈz±_¯rÅ�·_®�ª:©X¬­¹�±·�¯%«�ª:°V¬�ª%¶L¾D¬:¶L°%ĺ¹�±t·s¯rÅÅ�¬:ª:·X¼D©�¬:± ·�¾Ãªr·!·X¾D¬�±_¯rÅ�·_®�ª:©X¬|«�¼Ã±_·�±_¼DÊDÊïl©�·SÀ �V¹º³½¶P¬¦Å�©Æªr«­¬�®�¯l©�°D±�ª:©X¬|¬)9R·X¬�³Ã±t¹q´Dĺ¬VÉ�ªr³Ã»±t¹q³Ã¶P¬�·X¾²¬SÂ%ÊD©�¯l´Ãª:´Dĺ ªr©�¬{¯l³²ÄºÂz±_¼DÊDÊïV±_¬:»z·X¯­¾Ãª:³Ã»7Äq¬{Êê:©X·|¯:Å�·�¾D¬�ªrʲÊDĺ¹�¶Sªr·�¹º¯l³0É͹q·�¹�±«­¯3©X¬|¹q«­Êïl©X·Æªr³R·�·�¾Ãªr·Bª�Å�©Æªr«­¬S®!¯l©�°­´Ã¬{¬:ª3±tÂ%·�¯�¬ 97·�¬S³Ã»�·�¾Ãªr³z·�¾Ãªr·�¹º·�¾ÃªSÌV¬sªrÄqÄF·�¾D¬Å�¬:ª:·X¼D©�¬:±PÀ ��¯:®!¬SÌV¬S©SÉ�¹º·�¹h±|¬:ª3±t¹º¬�©·�¯%·�¬SĺÄ]®�¾²¬S·X¾D¬�©Iª�Å�©Lª:«­¬S®�¯3©X°z¾Ãª3±{±_¯l«­¬{Å�¬:ª:·X¼D©�¬·X¾²¬S³%·�¯­·X¬SÄqÄF®�¾²¬S·X¾D¬�©�¹q·|¹h±�¬)9R·X¬S³Ã±_¹º´DÄq¬VÀ�Ë|±�¼Ã±_¼ÃªrÄ�É'®�¬�ª:©X¬s«­¯l©�¬{ĺ¹q°V¬SĺÂ�·X¯~«­¬:ªl±_¼D©X¬·X¾²¹º³DÈ�±�·X¾Ãª:·|ª:©X¬�¬:ªl±_­·X¯�«­¬:ª3±t¼D©�¬|·X¾½ªr³%·�¾D¬�·X¾D¹q³DÈV±�·�¾Ãªr·Bªr©�¬�¹º«­Êïl©�·Lª:³7·�À

Ë�³�¬)97ÊìS©�·�¶Sª:³­¼Ã±_¼ÃªrÄqĺÂI·X¬�ĺÄþD¯:®�¾Ãªr©Æ»­¹º·�¹h±�·X¯Iª3»D»�±t¯3«­¬�«~¹h±X±_¹º³DÈ�Å�¬:ªr·�¼D©X¬:±NÉ7´D¼²·¹º·�¹�±u³²¬:ªr©�ĺÂ�¹º«­ÊïV±�±t¹q´Dĺ¬�Å�¯3©�³D¯:ÌR¹h¶P¬:±]·�¯{·X¬�ĺÄ)À �V¯²É7¹q·�¹h±]´Ã¬:±_·�·X¯I¼½±t¬B±t¯l«~¬¦Å�©Æªr«­¬S®!¯l©�°D±ªr³½»�»7¬�ÌV¬Sĺ¯3Ê�±t¯l«~¬�¬)97ÊìS©�¹º¬S³½¶P¬�ª:³Ã»�¬)9RÊìS©X·�¹h±t¬�®�¹q·X¾�·X¾D¬�«�´Í¬NÅ�¯l©X¬B¶L¾D¯V¯V±_¹º³DÈs¯l³D¬Bªl±!ª¶P¯3©XÊïl©Æªr·X¬�±t·Lª:³Ã»Dª:©L»'À ��Å'Å�©Lª:«­¬S®!¯l©X°²±�ªr©�¬|Ähª:©XÈl¬Bªr³½»�¬ 97ÊìS³Ã±_¹ºÌV¬�·�¾D¬S³­¹q· ¹�±]¬)97ÊìS³½±t¹ºÌV¬·X¯�·X¬a±t·|·�¾D¬S«zɲªr³Ã»%·�¾D¬S©X¬s¹h±�³D¯�¶L¾D¯l¹�¶P¬�¬)9²¶P¬SÊD·�·�¯­©X¬SÄq­¯l³�¶N¯l³Ã±_¼Dĺ·Æªr³R·L±PÀ � Å!¶P¯l¼²©L±t¬�É·X¾²¬�¶P¯l³½±t¼DÄq·Lªr³R·L±I«­¹qÈl¾R·¯3³Dĺ °7³D¯:® ¯3³D¬­Å�©Lª:«­¬S®�¯3©X°�®�¬SÄqÄ)ÉÛ·X¾D¬S «­¹ºÈ3¾7·s´Í¬�´D¹�ªl±_¬:»´RÂ�´D¼Ã±_¹º³D¬:±�±I¶P¯l³²³D¬:¶P·�¹º¯l³½±�®�¹q·X¾·X¾D¬�Å�©Lª:«­¬S®�¯3©X°²±ÌV¬S³½»7¯l©�É�ª:³Ã»�·X¾D¬�Â�®�¹ºÄqÄ�·X¬�³Ã» ·�¯Å�ªSÌV¯l©�Êï:®�¬S©�¯:ÌV¬S©�±t¹q«­ÊDÄq¹h¶P¹q·)ÂVÀ]Ñ]ÌV¬S©�Â�Å�©Æªr«­¬�®�¯l©�°­´Ãª:Ähªr³½¶P¬:±�±t¹º«~ÊDĺ¹�¶P¹º·)ÂI®�¹q·X¾�Êï:®�¬S©�À�V¹q«­ÊDĺ¹�¶P¹y·_­«�ªr°V¬a±�ª­Å�©Lªr«~¬S®�¯3©X°�¬:ªl±_¹º¬S©�·�¯�Äq¬:ªr©�³AÉÛ±t¯ ±t¹º«~ÊDĺ¬�Å�©Lªr«~¬S®�¯3©X°²±|ªr©�¬�´Ã¬:±_·Å�¯l©I³²¯rÌR¹h¶N¬:±PÀ�Ñ 97ÊìS©�·L±Iª:ÊDÊD©X¬a¶P¹hª:·X¬�Êïr®!¬S©Iª:³Ã» Ö½¬)97¹q´D¹ºÄq¹º·_ÂVÀ ��Å|ÂV¯3¼�ª:©X¬­¯3³Dĺ Èl¯l¹q³DÈ·X¯�ĺ¬aªr©X³�ªIÅ�©Lªr«~¬S®�¯3©X°­¯3³Ã¶P¬{·�¾D¬S³z·�¾D¬{·�¹º«­¬|·�¯­Äº¬aªr©X³}¹º·|«~¹ºÈl¾R·�»R¯l«­¹q³Ãªr·�¬{·X¾²¬{·X¹q«­¬ªl¶N·X¼Ãª:ĺĺÂI¼½±t¹º³²ÈI¹º·Sɲ±t¯�±_¹º«­ÊDÄq¹h¶P¹q·)Â{¹�± «­¯3©X¬�¹º«­Êï3©X·Lª:³7·�·�¾Ãªr³�Êï:®�¬S©�À>��ÅÛÂV¯3¼}ªr©X¬BÈl¯l¹q³DÈ·X¯�¼Ã±_¬�ª Å�©Lª:«­¬S®�¯3©X°�¯:ÌV¬S©~ªr³½»�¯rÌV¬�©�·�¾D¬S³�Êï:®�¬�©­¹h±IÊD©X¯3´Ãªr´²ÄºÂ�«~¯l©X¬�¹q«­Êïl©X·Æªr³R·SÀÁ�¾R¼Ã±PÉD¬)9RÊìS©X·Æ±�ªr©�¬{±_¯l«­¬�·X¹º«~¬:±Fĺ¬a±X±�ªr´²Äº¬�·X¯�«�ªr°V¬BªIÈl¯V¯R»z¶L¾D¯l¹�¶P¬|·X¾½ªr³%³²¯rÌR¹h¶N¬:±PÀ

�)³%·X¾²¬¬�³Ã»'É÷X¾D¬s«�ªr¹q³�Ì3ª:ĺ¼D¬s¯rÅ!ª�Å�©Æªr«­¬�®�¯l©�°�¹�±¦®�¾²¬S·X¾D¬�©�¹q·�¹q«­ÊD©X¯:ÌV¬:±]·�¾D¬{®ØªaÂÂV¯l¼�»7¬SÌV¬SÄq¯lÊ�±_¯rÅ�·_®�ª:©X¬sªr³Ã»­·�¾D¬s±t¯rÅ�·_®Øªr©X¬BÂV¯l¼}»7¬SÌV¬SÄq¯lÊAÀ ��ÅÛ·X¾D¬s±t¯:Å�·_®�ªr©�¬�¹h± ·�¯V¯­±_ĺ¯:®¯l©!¹º«­Êï�±X±t¹q´Dĺ¬�·X¯s«�ªr¹q³7·Æªr¹q³AÉl¹º·!®�¹ºÄqÄͳ²¯l·�«�ª:·X·X¬�©]·X¾Ãª:·�¹º·�·Lª:°V¬:± Äq¬:±X±�·X¹q«­¬�·X¯�»7¬�ÌV¬Sĺ¯3ÊAÀÎzªr³R­Å�ªl¶P·�¯l©Æ±�È3¯�¹º³R·X¯�·X¾D¹�±P×A·X¾D¬�¿V¼Ãª:ĺ¹º·_Â�¯rÅ!·�¾D¬{Å�©Lª:«­¬S®�¯3©X°�ÉD·X¯V¯3Äh±|·X¯}±t¼²ÊDÊïl©X·�·�¾D¬Å�©Lª:«­¬S®!¯l©X°�É�·X¾D¬ ¿Ç¼Ãª:ĺ¹q·t¯:Å{·�¾D¬z»R¯R¶P¼D«­¬S³R·Lª:·X¹q¯l³AÉ�ª:³Ã»�ª�¶P¯3«­«�¼D³D¹º·�Â�·�¯�ÊD©X¯:ÌR¹h»7¬·X©Æªr¹q³D¹º³DÈ~ªr³½»�«­¬S³R·X¯3©X¹q³DÈDÀ!Ë Å�©Æªr«­¬S®!¯l©�°­«�¼½±t· Ò½·�¹q³7·�¯�·�¾D¬I¶P¼²Äº·X¼²©X¬�¯rÅ!ª~¶P¯l«­Ê½ªr³RÂVÀ��Å?ªI¶P¯l«~Êêr³RÂI¾Ãªl±�¾D¹qÈl¾­·�¼D©X³D¸�¯:ÌV¬S©�ªr³½»�ªI±_«�ªrÄqÄ÷X©Lª:¹º³D¹q³DÈI´D¼Ã»RÈl¬S·�·�¾D¬S³�Å�©Æªr«­¬S®!¯l©�°D±«�¼Ã±t·!´Í¬�±_¹º«­Ê²Äº¬�ª:³Ã»%¬:ªl±_Â�·X¯­¼Ã±_¬VÀ$5�³DÄq¬:±X±�¹º·�©�¬SÊì:ªr·�¬:»7ĺÂ�´D¼²¹ºÄh»²±¦·�¾D¬I±�ªr«­¬�°R¹º³Ã»�¯rŪrʲÊDĺ¹�¶Sªr·�¹º¯l³½± ·X¾²¬S³­¹º·Ø±t¾D¯3¼DÄh»­´Ã¬�´D¼D¹qÄh»7¹q³DÈI»7¯3«�ªr¹q³D¸�±tÊì:¶P¹yÒ�¶ØÅ�©Æªr«­¬�®�¯l©�°D±NÉV©X¬SÈ�ªr©L»Rĺ¬:±�±¯rÅs¾D¯:® ªr·�·X©Æªl¶P·�¹ºÌV¬�·X¾D¬� «~¹ºÈl¾R·I´Ã¬VÀ Á�¾D¬zÌ3ªrÄq¼D¬%¯:ÅϪ Å�©Lª:«­¬S®�¯3©X°»R¬SÊìS³Ã»D±�«~¯l©X¬¯l³�¹º·Æ±|¶P¯3³7·�¬)97·B·X¾Ãª:³�¯3³�·X¾D¬{Å�©Æªr«­¬�®�¯l©�°�¹º·L±_¬SÄvÅ�É0±t¯�·X¾D¬�©X¬I¹h±|³D¯�«�ª:Èl¹�¶�Å�¯l©�«�¼²Ähª�Å�¯3©¬SÌ3ªrÄq¼Ãªr·�¹º³DÈI·�¾D¬S«zÀ

� � ¢ �  ?¢ % � � �S¢�� � �z¡��6� �� ¢�¡�� ³D¬�¯rÅÛ·X¾²¬|«­¯V±_·!¶P¯l«­«~¯l³I¯l´½±t¬S©�Ìlª:·X¹q¯l³Ã±�ª:´Í¯3¼D·�Å�©Lª:«­¬S®!¯l©X°�»R¬:±t¹qÈl³­¹�±u·�¾Ãªr·�¹q·�·Lªr°V¬a±¹º·�¬S©Lª:·X¹q¯l³ + V¨����7É� � ,�!RÉ 7�¯V± ,=<=0)À ��¾R­¹h±�¹º·�¬S©Lª:·X¹q¯l³%³²¬:¶P¬:±�±Xªr©� � �ĺ¬:ª:©XĺÂ�ÉDª­»7¬a±t¹ºÈ3³¹h±�¹º·X¬�©Lªr·�¬:»%¯l³²ÄºÂ%´Ã¬:¶�ªr¼Ã±_¬�¹q·L±�ªr¼D·�¾D¯l©Æ±�»7¹h»z³D¯l·�°R³D¯:®=¾D¯:®,·X¯}»7¯�¹º·|©�¹ºÈ3¾7·|·�¾D¬IÒéL±_·

� <

Page 16: Components, frameworks, patterns [ralph e. johnson]

·X¹q«­¬VÀ .F¬S©�¾ÃªrÊñ�·X¾D¹�±¦¹�±�·X¾D¬�Å�ªr¼DÄq·�¯:Å!·X¾D¬Ï»7¬:±t¹qÈl³D¬�©L±�·�¾D¬SÂ}±t¾D¯3¼DÄh»%¾½ªaÌV¬Ï±tÊìS³R·�«~¯l©X¬

·X¹q«­¬!ªr³Ãª:ĺÂRÕS¹º³²È|·X¾D¬�ʲ©X¯l´²Äº¬S« »7¯l«�ª:¹º³AÉ3¯l©]·�¾D¬SÂ{®!¬S©X¬�³²¯l·�±_°7¹qĺĺ¬a»¬S³D¯3¼DÈl¾0À ��¯:®�¬SÌV¬S©�ɬSÌV¬S³�±t°R¹ºÄºÄq¬:»�»7¬:±t¹qÈl³D¬�©L±�¹º·�¬S©Lª:·X¬�®�¾D¬S³�·�¾D¬SÂ�ª:©X¬s»7¬:±_¹ºÈl³²¹º³DÈIÅ�©Lª:«­¬S®�¯3©X°²±PÀ

Á�¾D¬!»7¬:±_¹ºÈl³B¯rÅ�ª Å�©Æªr«­¬S®!¯l©�°�¹h±'ĺ¹q°V¬F·�¾D¬�»7¬a±t¹ºÈ3³�¯rŲ«­¯V±_·'©X¬�¼Ã±Xª:´Dĺ¬!±t¯:Å�·_®�ªr©�¬ + �|©�¼,=.RÉÁA©Lª=,/<=0)À$�)·|±_·Lª:©X·L±�®�¹º·X¾ »7¯l«�ªr¹º³}ª:³ÃªrÄqÂD±_¹h±PÉ�®�¾D¹h¶L¾ �)ªr«~¯l³DÈ­¯3·X¾D¬�©�·�¾D¹º³DÈ�±���¶N¯lĺÄq¬:¶P·Æ±�ª³R¼D«�´Ã¬S©�¯:Å]¬)9²ªr«~ÊDĺ¬:±NÀÛÁ�¾D¬|ÒéL±_·�ÌV¬S©L±_¹º¯l³~¯rÅ?·X¾D¬|Å�©Lª:«­¬S®!¯l©X°I¹�± ¼Ã±_¼ÃªrÄqĺÂ�»R¬:±t¹qÈl³D¬:»­·�¯´Ã¬�ªr´DÄq¬�·�¯¹º«­ÊDÄq¬S«�¬P³R·I·X¾D¬z¬ 9Dª:«­ÊDĺ¬a±PÉ�ª:³Ã» ¹�±­¼Ã±t¼Ãª:ĺÄqÂ�ª�®�¾D¹º·�¬S¸�´Í¯�9Å�©Lªr«~¬S®�¯3©X°+ V¨ ���7É 7$ :,�� 0)À Á�¾D¬S³ ·X¾²¬ Å�©Æªr«­¬�®�¯l©�° ¹�±%¼Ã±t¬a» ·X¯ ´D¼D¹qÄh»Ðª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³Ã±PÀ Á�¾D¬:±_¬ªrʲÊDĺ¹�¶Sªr·�¹º¯l³½±�Êï3¹º³R·{¯l¼²·{®�¬aªr°�Êͯ3¹º³R·L±�¹º³�·X¾D¬�Å�©Æªr«­¬�®�¯l©�°'ÉA®�¾D¹�¶�¾ ªr©�¬­Êê:©X·L±�¯rÅ�·�¾D¬Å�©Lª:«­¬S®!¯l©X°�·X¾½ªr·�ª:©X¬{¾½ªr©L»%·�¯­¶L¾Ãª:³DÈl¬VÀ�Ñ 9RÊͬ�©X¹º¬�³Ã¶P¬�ĺ¬:ª3»D±�·X¯­¹q«­ÊD©X¯:ÌV¬S«�¬N³7·Æ±u¹q³%·�¾D¬Å�©Lª:«­¬S®!¯l©X°�ÉF®�¾²¹h¶L¾�¯rÅ�·�¬S³«�ªr°V¬�¹º·s«­¯l©�¬­´DÄhª3¶�°R¸�´Í¯�9�À�Á�¾D¹�±{ÊD©X¯R¶N¬:±X±I¶Sª:³�¶P¯l³R·X¹q³7¼D¬Å�¯l©�¬SÌV¬S©�É7·X¾²¯l¼DÈ3¾z¬SÌV¬S³R·X¼Ãª:ĺĺÂ�·X¾²¬Å�©Lª:«­¬S®!¯l©X°�¹h±�Èl¯V¯R»z¬S³D¯3¼DÈl¾z·�¾Ãªr·B±t¼²ÈlÈl¬a±t·X¹q¯l³Ã±�Å�¯3©¹º«~ÊD©X¯:ÌV¬S«�¬P³R·!ªr©�¬I©Lªr©�¬VÀ|Ë�·B±t¯l«~¬Êï3¹º³R·SÉ'·�¾D¬I»7¬�ÌV¬Sĺ¯3Êͬ�©L±�¾ÃªSÌV¬{·�¯�»7¬:¶N¹h»7¬�·X¾½ªr·|·�¾D¬Å�©Lª:«­¬S®!¯l©X°I¹�± ÒóD¹�±t¾D¬:»}ªr³Ã»­©�¬Sĺ¬:ª3±t¬�¹º·�À

� ³D¬I¯rÅØ·X¾D¬I©�¬:ªl±_¯l³Ã±�Å�¯l©�¹q·X¬S©Æªr·X¹q¯l³z¹�±|»7¯l«�ªr¹º³�ª:³ÃªrÄqÂD±_¹h± + � � 7 � �/,=0)À 5�³Dĺ¬a±X±�·�¾D¬»7¯3«�ªr¹q³ ¹�±{«�ªr·�¼D©X¬�É ¹q·I¹h±I¾Ãªr©Æ» Å�¯l©~¬)97ÊìS©�·L±{·�¯�¬)9RÊDÄhª:¹º³¹º·�À�Î%¹�±t·Lª:°V¬:±{¹º³"»7¯l«�ªr¹º³ªr³½ªrĺ²±t¹�±�ªr©�¬{»R¹h±X¶N¯rÌV¬�©X¬:»�®�¾²¬S³}ª�±_ÂD±_·X¬S« ¹�±�´D¼D¹qĺ·SÉR®�¾D¹h¶L¾­Äq¬:ªl»D±�·X¯I¹q·X¬S©Æªr·�¹º¯l³0À

Ë ±t¬:¶P¯3³Ã»�©�¬:ªl±_¯l³%Å�¯3©�¹q·X¬S©Æªr·X¹q¯l³�¹h±�·�¾Ãªr·�ªÏÅ�©Æªr«­¬S®!¯l©�°�«�ª:°V¬:± ¬ 97ÊDÄq¹h¶P¹q·�·�¾D¬�Êêr©�·L±¯rÅBª}»7¬:±_¹ºÈl³·�¾Ãªr·Ïªr©X¬~ĺ¹º°V¬�ĺÂ%·�¯z¶L¾Ãªr³²Èl¬VÀz¨D¬:ª:·X¼D©�¬:±·�¾Ãªr·�ª:©X¬­Äq¹º°V¬SÄqÂ�·X¯�¶L¾Ãªr³DÈ3¬�ªr©�¬¹º«~ÊDĺ¬S«�¬N³7·�¬:»{´7Â�¶P¯l«­Êï3³D¬S³R·L±�±t¯�·X¾½ªr·�·X¾²¬SÂ�¶Sª:³%´Ã¬s¶�¾Ãª:³DÈl¬a»�¬:ª3±t¹ºÄqÂVÀ �¯3«­Êïl³D¬�³7·Æ±ªr©�¬{¬:ª3±tÂ}·X¯�¶L¾Ãªr³²Èl¬VÉ'¹q³7·�¬S©tÅ�ª3¶P¬:±�ªr³Ã»z±_¾Ãªr©�¬:»%¹º³RÌ3ªr©�¹hªr³R·L±Bªr©X¬I¾½ªr©L»�À �j³zÈ3¬S³D¬S©ÆªrÄ�ÉÍ·�¾D¬¯l³²ÄºÂ­®ØªaÂ�·X¯�ĺ¬aªr©X³�®�¾Ãª:·|¶L¾Ãª:³DÈl¬:±�¹�±�´7Â~¬)97ÊìS©�¹º¬S³½¶P¬VÀ

Ë ·�¾D¹º©Æ»�©X¬:ª3±t¯l³�Å�¯l©�¹q·X¬S©Æªr·X¹q³DÈ�¹h±�·�¾Ãªr·­Å�©Lª:«­¬S®!¯l©X°²±�ªr©X¬�ª:´Ã±t·�©Lª3¶P·X¹q¯l³Ã±NÉ|±t¯·�¾D¬»7¬:±_¹ºÈ3³�¯:ÅÛ·X¾D¬�Å�©Æªr«­¬�®�¯l©�°I»7¬�Êͬ�³Ã»D± ¯3³­·X¾²¬|¯l©�¹ºÈl¹q³ÃªrÄ�¬)9²ªr«­ÊDÄq¬:±PÀ0Ñ ª3¶�¾~¬)9Dª:«­ÊDÄq¬�·X¾Ãª:·¹h±s¶P¯l³½±t¹h»R¬S©X¬:»�«�ª:°V¬:±|·X¾D¬­Å�©Æªr«­¬S®!¯l©�°�«­¯3©X¬­È3¬S³D¬S©ÆªrÄتr³Ã»©X¬S¼Ã±�ªr´DÄq¬VÀ�¨D©Æªr«­¬S®!¯l©�°D±ªr©�¬{Ä�ªr©XÈ3¬VÉ�±t¯�¹º·�¹h±�·X¯V¯­¬ 97ÊìS³Ã±_¹ºÌV¬�·X¯~ĺ¯V¯l° ªr·|«�ªr³R­¬)9²ªr«­ÊDÄq¬:±PÉê:³Ã»%Êê:Êͬ�©�»7¬:±_¹ºÈl³½±ªr©�¬�³²¯l·}±t¼ ��¶P¹q¬S³7·�ĺÂ�»7¬S·Æªr¹qĺ¬:»�·�¯�¬SÌ3ªrÄq¼Ãªr·�¬�·�¾D¬%Å�©Lª:«­¬S®!¯l©X°�À�Ë�´Ã¬S·X·�¬S©�³D¯l·Æªr·X¹q¯l³Å�¯l©�»R¬:±X¶P©�¹º´D¹q³DÈ%Å�©Lª:«­¬S®!¯l©X°²±{«­¹qÈl¾R·{ĺ¬�·{«­¯3©X¬�¯rÅB·X¾D¬}¹º·�¬S©Lª:·X¹º¯3³·Lªr°V¬�ÊDÄ�ªl¶P¬}»7¼²©X¹º³²ÈÅ�©Lª:«­¬S®!¯l©X°�»R¬:±t¹qÈl³AÀ

Ë ¶P¯3«­«­¯l³z«~¹h±t·Æªr°V¬I¹�±·X¯�±_·Lª:©X·I¼Ã±_¹º³DÈ�ª�Å�©Æªr«­¬S®!¯l©�°z®�¾D¹ºÄq¬�¹q·L±{»R¬:±t¹qÈl³¹h±s±t·X¹qĺĶL¾Ãªr³DÈ3¹º³DȲÀ Á�¾D¬%«­¯3©X¬}ªr³�¹q«­«~ªr·X¼²©X¬�Å�©Æªr«­¬S®!¯l©�°�¹�±�¼Ã±_¬:»'É�·X¾²¬%«­¯3©X¬�¹º·�¶L¾Ãªr³²Èl¬:±NÀ�¾Ãª:³DÈl¹q³DÈ|ª Å�©Æªr«­¬�®�¯l©�°|¶�ªr¼Ã±_¬:±�·�¾D¬�ª:ÊDÊDĺ¹�¶Sªr·�¹º¯3³Ã±'·X¾Ãª:·F¼½±t¬�¹º·A·�¯�¶�¾Ãª:³DÈl¬�Ér·�¯V¯+ 7�¯V± ,=<:0)À� ³I·X¾D¬�¯3·X¾D¬�© ¾½ªr³Ã»'ÉV·�¾D¬�¯3³DĺÂs®�ªSÂ{·�¯|ÒóûI¯l¼D·�®�¾Ãª:· ¹�±F®�©X¯3³DÈ{®�¹q·X¾�ª�Å�©Lª:«­¬S®!¯l©X°�¹�±·X¯�¼Ã±_¬�¹q·SÀ �j·�¹�±u´Ã¬S·�·X¬S©?·X¯Ò½©L±t·�¼Ã±_¬�·�¾D¬�Å�©Lªr«~¬S®�¯3©X°Å�¯3©!±t¯l«~¬�±t«�ª:ĺÄRÊD¹ºÄq¯l·�ÊD©X¯3µ_¬:¶P·L±]·�¯«�ª:°V¬�±t¼D©�¬·�¾Ãªr·�¹q·�¹�±�±t¼ ��¶P¹º¬�³7·�ĺÂÖ½¬)97¹q´Dĺ¬Bªr³½»�Èl¬�³D¬S©Lª:Ä)À ��Å?¹º·!¹h±�³D¯l·�ÉD·X¾D¬:±_¬|ÊD©�¯lµ_¬:¶P·Æ±®�¹ºÄqÄôͬ�È3¯V¯R»�·X¬a±t·�¶Sª3±t¬:± Å�¯3©�·X¾²¬�Å�©Æªr«­¬�®�¯l©�°�»7¬SÌV¬SÄq¯lÊìS©Æ±PÀ]Ë�Å�©Lªr«~¬S®�¯3©X°�±t¾²¯l¼DÄ�»�³D¯3·´Ã¬|¼Ã±_¬:»�®�¹h»R¬SĺÂI¼D³R·X¹qÄùº·�¾Ãªl±�ʲ©X¯:ÌV¬S³�¹º·L±_¬SÄvÅ�ÉV´Ã¬:¶Sª:¼Ã±t¬�·�¾D¬�«~¯l©X¬�®�¹h»R¬SĺÂ�ª|Å�©Lªr«~¬S®�¯3©X°¹h±�¼½±t¬:»'ÉR·X¾D¬�«­¯3©X¬|¬ 97ÊìS³Ã±_¹ºÌV¬|¹q·�¹h±�·�¯­¶L¾Ãªr³²Èl¬�¹º·�À

��¬:¶Sª:¼Ã±t¬|Å�©Lª:«­¬S®!¯l©X°²±�©X¬a¿Ç¼D¹q©X¬|¹q·X¬S©Æªr·�¹º¯l³ ªr³Ã»}»7¬S¬SÊ}¼D³Ã»7¬�©L±t·Æªr³Ã»R¹º³DÈ�¯rÅتr³ ªrÊDʲĺ¹º¸¶Sª:·X¹º¯3³}»7¯l«�ª:¹º³AÉV¹q·�¹h±�¾Ãª:©L»­·X¯�¶P©�¬:ªr·�¬�·X¾D¬S«�¯l³ ±X¶L¾D¬:»7¼²Äº¬VÀ?Á�¾7¼Ã±NÉÇÅ�©Æªr«­¬S®!¯l©�°­»7¬a±t¹ºÈ3³±t¾²¯l¼DÄ�»�³D¬SÌV¬S©�´Ã¬�¯l³·X¾²¬�¶P©X¹q·X¹�¶SªrÄ]ʽªr·X¾¯:Å�ª:³�¹º«­Êï3©X·Lª:³7·sÊD©X¯3µ_¬:¶P·SÀ}Á�¾D¹�±I±t¼DÈ3Èl¬:±_·L±

� �

Page 17: Components, frameworks, patterns [ralph e. johnson]

·X¾½ªr·�·X¾D¬�Â�±t¾D¯3¼DÄh»�´Ã¬�»R¬SÌV¬Sĺ¯3Êì:»%´7Â�ª3»7Ì3ªr³Ã¶N¬:»�»7¬SÌV¬�ĺ¯lʲ«­¬S³V·�¯l©{©�¬:±t¬aªr©L¶L¾zÈl©�¯l¼Dʽ±PɳD¯3·�´7­ʲ©X¯R»7¼Ã¶N·�È3©X¯l¼²ÊñPÀ � ³}·X¾D¬�¯l·�¾D¬S©�¾Ãª:³Ã»'ÉDÅ�©Lª:«­¬S®�¯3©X°~»7¬:±_¹ºÈl³}«�¼½±t·�´Ã¬s¶PÄq¯V±t¬�ĺªl±�±t¯R¶P¹�ªr·�¬:»%®�¹º·�¾%·X¾²¬IªrʲÊDĺ¹�¶Sªr·�¹º¯l³}»7¬�ÌV¬Sĺ¯3Êͬ�©L±�´Í¬a¶Sªr¼Ã±_¬Å�©Æªr«­¬S®!¯l©�°�»7¬:±_¹ºÈl³}©X¬:¿V¼D¹q©X¬:±¬)9RÊìS©X¹q¬S³Ã¶P¬�¹º³�·X¾²¬{ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³}»7¯l«�ª:¹º³AÀ

Á�¾D¹h±]·�¬S³Ã±t¹q¯l³�´Ã¬S·_®�¬S¬S³{Å�©Æªr«­¬�®�¯l©�°s»7¬:±t¹qÈl³~ªr³Ã»�ªrʲÊDĺ¹�¶Sªr·�¹º¯l³~»7¬:±_¹ºÈ3³�Äq¬:ªl»D±]·�¯·_®!¯«­¯R»7¬�Äh±{¯rÅs·�¾D¬%ÊD©�¯R¶P¬:±�±�¯rÅ�Å�©Lª:«­¬S®!¯l©X° »7¬:±t¹qÈl³AÀ � ³D¬%«­¯R»R¬SÄ�¾Ãªl±�·X¾D¬�Å�©Lªr«~¬S®�¯3©X°»7¬:±_¹ºÈ3³D¬S©L±�ª:Äh±t¯Ï»7¬:±_¹ºÈl³�ªrÊDÊDÄq¹h¶Sª:·X¹q¯l³Ã±NÉ7´D¼D·�·�¾D¬SÂ�»7¹qÌ7¹�»7¬�·�¾D¬S¹q© ·�¹º«­¬!¹º³R·X¯�ÊD¾Ãª3±t¬:±�®�¾²¬S³·X¾²¬SÂ�¬ 97·�¬S³Ã»�·X¾D¬­Å�©Æªr«­¬S®!¯l©�°�´RªrʲÊDĺÂR¹º³DÈz¹q·�ªr³Ã»ÊD¾Ãª3±t¬:±I®�¾D¬S³·X¾²¬SÂ�©X¬�Ì7¹�±t¬­·�¾D¬Å�©Lª:«­¬S®!¯l©X°~´7Â}¶P¯3³Ã±t¯3ĺ¹h»²ªr·X¹q³DÈ�¬:ªr©�ĺ¹q¬S©�¬)9R·X¬S³Ã±_¹º¯3³Ã± + ¨D¯V¯ , � 0)À�Á�¾²¬{¯l·�¾D¬S©|«~¯R»7¬SÄÛ¹h±�·�¯¾ÃªSÌV¬Iª�±_¬SÊêr©Æªr·�¬�È3©X¯l¼²Ê�¯:Å Å�©Æªr«­¬�®�¯l©�°}»7¬:±t¹qÈl³D¬�©L±PÀÏÁ�¾D¬{Å�©Lª:«­¬S®�¯3©X°}»7¬:±_¹ºÈ3³D¬S©L±�·X¬:±_··X¾²¬S¹º©�Å�©Lªr«~¬S®�¯3©X°�´7­¼½±t¹º³²È�¹q·SÉD´D¼D·BªrÄ�±t¯�©X¬SÄqÂ�¯3³%·�¾D¬�«�ªr¹q³�¼½±t¬S©Æ±�¯rÅ�·�¾D¬|Å�©Lªr«~¬S®�¯3©X°Å�¯l©�Å�¬�¬:»7´Ãª3¶�°�À

Á�¾D¬�ÒéL±_· «~¯R»7¬SÄD¬S³½±t¼D©�¬:±]·X¾Ãª:·�·X¾²¬¦Å�©Æªr«­¬S®!¯l©�°{»R¬:±t¹qÈl³D¬S©Æ±]¼D³Ã»7¬S©Æ±t·Æªr³Ã»�·�¾D¬�ÊD©X¯3´D¸Äº¬�«�±�®�¹º·�¾Ð·X¾²¬S¹º©­Å�©Lª:«­¬S®!¯l©X°�É|´D¼D·}·X¾D¬ ±t¬:¶P¯3³Ã»Ð«­¯R»7¬SÄ�¬S³½±t¼D©�¬:±�·�¾Ãªr·�Å�©Lªr«~¬S®�¯3©X°»7¬:±_¹ºÈ3³D¬S©L±~ªr©X¬�Èl¹qÌV¬S³�¬�³D¯l¼DÈ3¾ ·�¹º«­¬}·X¯©X¬�Ì7¹�±t¬%·�¾D¬%Å�©Lª:«­¬S®!¯l©X°�À,Á�¾D¬%ÒéL±_·�«­¯R»7¬SÄ®�¯3©X°²±]®�¬SÄqÄ7Å�¯l©!±t«�ªrĺIJÈl©X¯3¼DÊñ�®�¾D¯�±t¬�«�ªr³½ªrÈl¬�«­¬S³R·F¼D³½»7¬S©L±_·Lª:³Ã»D±�·X¾²¬�¹q«­Êïl©X·Æªr³Ã¶N¬�¯rÅÅ�©Lª:«­¬S®!¯l©X°~»7¬:±_¹ºÈ3³zªr³½»z±t¯�¶Sª:³%´D¼½»7Èl¬S·B¬S³D¯l¼²Èl¾%·�¹º«­¬�Å�¯l©|©�¬SÌ7¹�±t¹q³DÈI·X¾D¬�Å�©Lª:«­¬S®�¯3©X°�ÀÁ�¾D¬ ±t¬:¶N¯l³Ã»�«­¯R»7¬SÄ�®�¯3©X°²±�®!¬SĺÄ�Å�¯l©}Ähªr©�Èl¬S©�È3©X¯l¼²Êñ�¯3©�Å�¯3©�Èl©X¯3¼DÊñz»7¬�ÌV¬Sĺ¯3ÊD¹º³DÈ ªÅ�©Lª:«­¬S®!¯l©X°�Å�¯l©�¼Ã±t¬�©L±­¯l¼D·Æ±t¹�»7¬z·X¾D¬�¹º©­¯3©XÈVª:³D¹ºÕaªr·X¹q¯l³AÉ�´D¼D·�©X¬a¿Ç¼D¹q©X¬:±I·X¾²¬%Å�©Lªr«~¬S®�¯3©X°»7¬:±_¹ºÈ3³D¬S©�·X¯~®�¯l©�°�¾Ãªr©Æ»%·X¯~¶P¯l«­«�¼D³D¹�¶Sªr·�¬�®�¹q·X¾}·X¾D¬�Å�©Lªr«~¬S®�¯3©X°�¼Ã±t¬S©Æ±PÀ�Á�¾D¹�±�±_¬S¬S«�±·X¯I´Ã¬s·X¾D¬�«­¯R»7¬�Ä'«­¯�±t·�Êï3ÊD¼DÄhª:©�¹q³�¹º³Ã»7¼½±t·X©�ÂVÀ

Ë�¶P¯l«~ÊD©X¯3«­¹h±_¬ ¹�±]·X¯s»7¬SÌV¬SÄq¯lÊ�ª�Å�©Lª:«­¬S®!¯l©X°s¹º³IÊê:©Lª:ĺĺ¬�ÄÍ®�¹q·X¾�»7¬�ÌV¬Sĺ¯3ÊD¹º³DÈ�±t¬SÌV¬S©ÆªrĪrʲÊDĺ¹�¶Sªr·�¹º¯l³½±�·X¾Ãª:·�¼Ã±_¬�¹º·SÀ�Ë�ĺ·X¾²¯l¼DÈ3¾�·�¾D¹h±�®�¹qĺÄ�³D¯l·�´Ã¬S³D¬PÒ÷�·�¾D¬:±_¬�Ò½©L±t·BªrʲÊDĺ¹�¶Sªr·�¹º¯l³½±«�¼Ã¶�¾0É�·�¾D¬]Å�©Lª:«­¬S®�¯3©X°�»7¬�ÌV¬Sĺ¯3Êͬ�©L±Í¼½±t¼Ãª:ĺĺÂB¾D¬SĺÊ�«­¯3©X¬Û·X¾Ãª:³{·�¾D¬SÂ�¾7¼D©�·SÀ?Á�¾D¬�´Í¬�³D¬PÒ÷Ʊ¼Ã±_¼ÃªrÄqĺ»7¯ ³D¯l·�±_·Lª:©X·­·�¯�±_¾D¯:® ¼²³7·�¹ºÄ�·X¾²¬%·X¾²¹º©L»¯l©�Å�¯3¼D©X·�¾ ªrÊDʲĺ¹h¶�ªr·X¹q¯l³AÉ!´D¼D·�·X¾D¹�±ªrʲÊD©X¯�ªl¶L¾ «~¹º³D¹q«­¹yÕS¬:±�·�¾D¬}¶P¯V±_·�¯:Å�»7¬�ÌV¬Sĺ¯3ÊD¹º³DÈ ª Å�©Æªr«­¬�®�¯l©�°z®�¾D¹ºÄq¬�ÊD©X¯:ÌR¹h»7¹q³DÈ%·�¾D¬Å�¬S¬:»R´Ãªl¶L°�·�¾Ãªr·�·�¾D¬|Å�©Lª:«­¬S®�¯3©X°~»7¬SÌV¬SÄq¯lÊìS©Æ±�³D¬S¬:»'À

� ��¡!¢�� � �'� ��� §�  � �z¡��6� � � ¢�¡�4��V¯3«­¬{¯:Å�·X¾²¬�ÊD©�¯l´DÄq¬S«�±�®�¹º·�¾ Å�©Æªr«­¬S®!¯l©�°D±�¾½ªaÌV¬I´Ã¬S¬�³�»7¬a±X¶P©�¹º´Ã¬:»zªrÄq©X¬:ª3»7ÂVÀ��)³zÊêr©�¸·X¹�¶P¼DÄ�ªr©SÉôì:¶Sª:¼Ã±t¬I·�¾D¬SÂ}ªr©�¬IÊͯ:®!¬S©tÅ�¼DÄ?ªr³½»�¶P¯3«­ÊDÄq¬)9'ÉR·X¾D¬�Âzªr©�¬I¾Ãªr©Æ»%·X¯­Äq¬:ªr©�³AÀ�Á�¾D¹�±«­¬:ª:³Ã±]·X¾Ãª:·�·X¾D¬�Â�©�¬:¿Ç¼²¹º©X¬�´Ã¬S·X·�¬S©�»7¯R¶P¼²«­¬S³R·Lªr·�¹º¯3³�·�¾Ãªr³�¯l·�¾D¬S©�±_ÂD±_·X¬S«�±NÉRªr³Ã»­Äº¯3³DÈl¬�©·X©Æªr¹q³D¹º³DȲÀ]Î%¯3©X¬S¯:ÌV¬S©�ÉÇ·�¾D¬SÂ~ªr©�¬|¾Ãªr©Æ»�·X¯�»R¬SÌV¬Sĺ¯3ÊAÀ]Á�¾²¹h± «~¬:ªr³Ã±]·�¾Ãªr·!·X¾D¬SÂ~¶P¯�±t·�«~¯l©X¬·X¯�»7¬SÌV¬SÄq¯lÊAÉ:ª:³Ã»�©�¬:¿V¼D¹º©�¬�»R¹ ��¬S©X¬�³7·Û°7¹q³Ã»D±A¯rÅ�ÊD©�¯lÈl©Æªr«­«~¬S©L±'·�¾Ãªr³�³D¯l©�«�ªrÄRª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³»7¬SÌV¬�ĺ¯lʲ«­¬S³V·SÀ�Á�¾D¬:±_¬�ª:©X¬�±_¯l«­¬!¯rÅ÷�¾D¬�©�¬:ªl±_¯l³Ã±Û·X¾Ãª:·�Å�©Æªr«­¬S®!¯l©�°D±Aª:©X¬�³²¯l·]¼Ã±_¬:»«~¯l©X¬®�¹h»R¬SĺÂ�·X¾Ãª:³z·X¾D¬�Â�¾½ªaÌV¬�´Ã¬S¬S³0É͹q³%±_ÊD¹º·�¬{¯:Å�·X¾D¬�Å�ªl¶P·�·X¾½ªr·�·X¾D¬s·X¬:¶L¾D³D¯3ĺ¯lÈ3Â�¹h±�±t¯�¯lÄh»�À��¼D·!·X¾D¬:±_¬�ÊD©X¯3´Dĺ¬S«�±�ªr©�¬s±t¾Ãª:©X¬:»�®�¹º·X¾�¯3·X¾D¬S©�©�¬S¼Ã±_¬·�¬:¶L¾D³D¹h¿V¼D¬:±NÀ]Ë�Äq·X¾D¯3¼DÈl¾�©�¬S¼Ã±t¬�¹�±Ì3ªrÄq¼Ãªr´DÄq¬VÉ'¹q·|¹h±�³²¯l·|Å�©X¬S¬�À �¯3«­Êêr³²¹º¬:±�·X¾Ãª:·sªr©X¬IÈ3¯l¹q³DÈ%·�¯­·Lª:°V¬�ªl»7Ì3ªr³R·Lª:Èl¬­¯:Å!©X¬S¼Ã±_¬«�¼Ã±t·�ÊêSÂ�¹º·Æ±�ÊD©X¹�¶P¬VÀ

� ³D¬­¯rÅB·X¾²¬�±t·�©X¬S³DÈ3·X¾Ã±I¯rÅ�Å�©Æªr«­¬�®�¯l©�°D±�¹h±�·X¾Ãª:·I·X¾D¬SÂ�·X¾²¬SÂ�ª:©X¬�©X¬�ÊD©X¬:±_¬S³R·X¬:»z´7Â� �

Page 18: Components, frameworks, patterns [ralph e. johnson]

³D¯3©X«�ª:Ä�¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»�ÊD©X¯3Èl©Æªr«­«­¹q³DÈ�Ähªr³²Èl¼Ãª:Èl¬:±NÀ Á�¾D¹h±�¹�±�ª:Äh±_¯ª�®�¬aªr°R³D¬:±X±�¯rÅÅ�©Lª:«­¬S®!¯l©X°²±PÀ ��¹º³Ã¶P¬�·�¾D¹h±Å�¬:ª:·X¼D©�¬%¹�±{¼D³D¹h¿V¼D¬�·X¯zÅ�©Lª:«­¬S®!¯l©X°²±PÉ�¹º·I¹�±IªrÄ�±t¯ªz¼D³D¹�¿Ç¼D¬®�¬aªr°R³D¬:±X±NÀ

� ³D¬­¯rÅB·X¾²¬�ʲ©X¯l´²Äº¬S«�±|®�¹q·X¾¼Ã±t¹q³DÈ�ª%Êê:©X·X¹�¶P¼DÄ�ªr©{Ä�ªr³DÈ3¼ÃªrÈ3¬%¹�±·X¾½ªr·I¹º·I©�¬:±t·�©X¹�¶P·L±Å�©Lª:«­¬S®!¯l©X°²±D·X¯�±_ÂD±_·X¬S«�±Ã¼Ã±t¹q³DÈ�·X¾½ªr·AÄhª:³DÈl¼½ªrÈl¬�À>�j³BÈl¬S³D¬�©LªrÄ�Él»R¹ ��¬S©X¬�³7·�¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»ÊD©�¯lÈl©Æªr«­«~¹º³DÈsÄhªr³²Èl¼Ãª:Èl¬:±|»R¯l³ 3 ·|®�¯3©X°�®�¬SÄqÄ'·�¯lÈl¬�·X¾D¬S©�É'±_¯­¹º·�¹h±�³²¯l·�¶P¯�±t·�¸�¬2��¬:¶N·X¹ºÌV¬�·�¯´D¼D¹qÄh»�ªr³ ªrʲÊDĺ¹�¶Sªr·�¹º¯l³�¹º³�¯3³D¬zÄhª:³DÈl¼Ãª:Èl¬z®�¹q·X¾ ª Å�©Æªr«­¬S®!¯l©�°�®�©X¹q·X·X¬�³�¹º³ ª:³D¯l·�¾D¬S©�À � Î�ª:³Ã» � 7 ��˪l»²»7©X¬:±�±'·X¾D¹�±'ÊD©X¯3´Dĺ¬�«zÉ:±t¹q³Ã¶P¬]·�¾D¬SÂ|Äq¬S·'ÊD©�¯lÈ3©Lªr«�±'¹º³�¯l³D¬�Ä�ªr³DÈ3¼DÈl¬¹º³R·X¬�©X¯lÊìS©Æªr·�¬{®�¹º·�¾�ʲ©X¯lÈ3©Lª:«�±�¹º³�ª:³D¯l·�¾D¬S©�ÀI¨D¼D©X·�¾D¬S©SÉ0±t¯l«~¬Å�©Lª:«­¬S®!¯l©X°²±�¾ÃªSÌV¬s´Í¬�¬S³¹º«~ÊDĺ¬S«�¬N³7·�¬:» ·_®�¹�¶P¬}±t¯�·X¾Ãª:·­¼Ã±t¬�©L±I¯rÅ�·_®�¯ »7¹��'¬�©X¬S³R·IÄhª:³DÈl¼Ãª:Èl¬:±�¶Sª:³�ª:ÊDÊDĺ·�¾D¬S«+ Ñ�¨�� � ,��DÉ��¯l³ 0�À�¼D©X©�¬S³R·�ÊD©�¯lÈl©Æªr«­«~¹º³DÈ�Ähª:³DÈl¼½ªrÈl¬a±�ªr©X¬BÈl¯V¯R»zªr·�»R¬:±X¶P©�¹º´D¹q³DÈ�·X¾D¬�±t·Lª:·X¹�¶�¹º³R·X¬S©_Å�ªl¶P¬

¯rÅ?ª:³�¯l´Dµ_¬:¶P·�É7´D¼²·�³D¯l·!¹º·L±�»RÂ7³Ãª:«­¹h¶�¹q³7·�¬S©tÅ�ª3¶P¬VÀ ��¬:¶Sªr¼½±t¬�Å�©Æªr«­¬S®!¯l©�°D±�ªr©�¬s»7¬:±X¶N©X¹º´Ã¬:»®�¹º·�¾ÊD©X¯3Èl©Lª:«­«­¹q³DÈ%Ä�ªr³DÈ3¼ÃªrÈ3¬:±PÉ�¹q·I¹h±{¾Ãª:©L»�Å�¯l©�»7¬SÌV¬�ĺ¯lÊìS©Æ±{·X¯zÄq¬:ªr©�³ ·�¾D¬}¶P¯lÄqÄhª:´Í¯3¸©Lª:·X¹qÌV¬IÊêr·�·X¬S©�³Ã±|¯rÅBª�Å�©Lª:«­¬S®�¯3©X°}´7Â}©X¬:ª3»7¹º³DÈ}¹º·�À6�)³Ã±_·X¬:ª3»'ÉA·X¾D¬�Â�»7¬SÊìS³Ã»z¯l³�¯3·X¾D¬�©»7¯R¶P¼²«­¬S³R·Lªr·�¹º¯3³%ª:³Ã»z·LªrÄq°7¹q³DÈ�·X¯­¬)9RÊìS©X·Æ±PÀ�Á�¾D¹�±|ªl»²»D±|·X¯­·�¾D¬I»7¹���¶N¼Dĺ·_­¯:Å�Äq¬:ªr©�³D¹º³²ÈªÅ�©Lª:«­¬S®!¯l©X°�À � ³D¬sªrÊDÊD©�¯Vª3¶�¾�·X¯I·�¾D¹h±�ʲ©X¯l´²Äº¬S«�¹h±�·�¯I¹º«­ÊD©�¯:ÌV¬�·X¾D¬�»R¯R¶P¼D«­¬S³R·Lª:·X¹q¯l³Aɱt¼½¶�¾ª3±{®�¹º·�¾ ʽªr·X·�¬S©X³½±PÀ�Ë�³D¯l·�¾D¬S©�ªrʲÊD©X¯�ªl¶L¾ ¹�±{·X¯�»7¬a±X¶P©�¹º´Ã¬­·X¾²¬�¶P¯l³½±t·X©Æªr¹q³7·Æ±Iªr³Ã»¹º³R·X¬�©Lªl¶N·X¹º¯3³Ã±´Ã¬S·_®!¬S¬S³�¶P¯l«~Êͯ3³D¬S³R·L±Å�¯3©X«�ª:ĺĺÂ�É�±t¼Ã¶L¾�ªl±�®�¹q·X¾�¶P¯l³R·X©Æªl¶P·Æ±�+ � ����,�!�0)À��¼D·Ø±t¹º³½¶P¬�Êêr©�·�¯:Å]·�¾D¬s±t·X©�¬S³DÈ3·X¾%¯:ÅFÅ�©Æªr«­¬�®�¯l©�°D±�¹h±�·�¾D¬|Å�ªl¶P·�·X¾Ãª:·�·X¾D¬|Å�©Æªr«­¬S®!¯l©�°�¹�±¬)9RÊD©X¬a±X±t¬a»�¹q³z¶P¯R»R¬VÉ'¹º·�«~¹ºÈl¾R·�´Ã¬{´Ã¬S·�·X¬S©�·X¯­¹q«­ÊD©�¯rÌV¬B¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»­Ähª:³DÈl¼Ãª:Èl¬:±B±t¯·X¾½ªr·�·X¾²¬SÂ�¶Sª:³�¬ 97ÊD©�¬:±X±�ʽªr·X·�¬S©X³½±¦¯:Å�¶P¯3ĺÄ�ªr´Ã¯l©Æªr·X¹q¯l³}«­¯l©�¬�¶Pĺ¬aªr©XÄqÂVÀ

��� � ¢­��¥ �:¤*��§S¢­�¨D©Lª:«­¬S®�¯3©X°²±Fª:©X¬Bª|ÊD©Lª3¶P·X¹�¶SªrÄî�ªSÂs·X¯{¬ 97ÊD©�¬:±X±Û©X¬S¼Ã±�ªr´DÄq¬|»R¬:±t¹qÈl³Ã±NÀ�Á�¾D¬SÂI»R¬:±t¬S©�ÌV¬:±F·�¾D¬ªr·�·X¬S³R·X¹q¯l³­¯:Å�´Ã¯l·�¾%·X¾²¬{±_¯rÅ�·_®�ª:©X¬�¬S³DÈ3¹º³D¬�¬S©X¹q³DÈ{©�¬:±t¬:ª:©L¶L¾}¶P¯l«­«�¼D³D¹y·_ÂIª:³Ã»�ʲ©Lªl¶N·X¹h¶N¹º³Dȱt¯:Å�·_®�ªr©�¬­¬S³DÈ3¹º³D¬�¬S©L±NÀ�Á�¾D¬S©X¬�ªr©X¬~«�ªr³RÂz¯lÊìS³�©�¬:±t¬aªr©L¶L¾�ÊD©�¯l´DÄq¬S«�±|ª3±X±_¯R¶P¹hª:·X¬:»�®�¹º·�¾´Ã¬S·X·�¬S©�®�ªS²±¦·�¯­¬)9RÊD©X¬a±X±�ªr³½»z»7¬SÌV¬SÄq¯lÊ­Å�©Lª:«­¬S®�¯3©X°²±PÉR´D¼D·|·�¾D¬S­¾ÃªSÌV¬sªrÄq©X¬:ª3»7Â}±t¾D¯:®�³·X¾²¬S«�±t¬�ĺÌV¬�±u·�¯�´Ã¬�Ì3ªrÄq¼Ãªr´DÄq¬VÀ

� � �:��¡ �{��¥$�'�+ ��ª:· ���10 sÀ �ÃÀ ��ªr·�¯l©XÂ�À �¯l³Ã¶N¬SÊD·L±�Å�¯l©Bª­»Dª:·Lª:´Ãªl±_¬�±t²±t·X¬�« ¶P¯l«~ÊD¹ºÄq¬S©SÀ�� � ��� � � !#� � �

*���� %� ��� ��-��� � ��� �� �NÉ � ,����7À+ � � , � 0 sÀ �ÃÀ��ª:·X¯l©�Â�ªr³½» DÀ 7À ��ªr©�³D¬S·X·�À |ª:·X¬

�Á�¾²¬ ��¬S³²¬:±t¹�± ��Î ��±t¯:Å�·_®�ªr©�¬

Ä�ªSÂV¯l¼D·�¬:»7¹q·X¯3©SÀAÁA¬:¶L¾D³D¹h¶�ªrÄD©�¬SÊïl©X·�É �¬SÊê:©X·X«~¬S³7·?¯rÅ��¯3«­ÊD¼D·�¬S© �R¶P¹q¬S³Ã¶P¬:±NÉ5�³D¹ºÌV¬S©Æ±t¹q·tÂI¯:Å!ÁA¬)9Dª3±�ªr·BË�¼Ã±_·X¹º³0É � ,/, � À

� �

Page 19: Components, frameworks, patterns [ralph e. johnson]

+ � � 7 � �=,�0 sÀ �ÃÀ>��ª:·X¯l©�ÂVÉ DÀ 7À ��ªr©X³²¬S·X·�É DÀ>7�¯:ÂVÉ �|À �À]Á�®�¹�¶�¾D¬�ĺÄ)É�ª:³Ã» DÀ �Bª:©XÕ:ªRÀ�¯3³Ã±t·�©X¼Ã¶N·X¹º¯3³ ¯rÅIÒÃÄq¬�«�ª:³ÃªrÈ3¬S«­¬S³R·~±t²±t·X¬�«�±�Å�©X¯l« ±_¯rÅ�·_®�ª:©X¬¶N¯l«­Êïl¸³²¬S³7·Æ±PÀ>�)³ � � *-������, ��� � � *�������� � ����� �����lÉ � ,��/,7À

+ ��¬�©-,�!�0 � ¼½¶P ��¬S©�ĺ¹q³AÀ=��¾D¬S³s¯l´Dµ_¬:¶N·L±Û¶P¯lÄqĺ¹h»R¬�Ñ 9RÊìS©X¹q¬S³Ã¶P¬:±A®�¹º·�¾{¼Ã±_¹º³DÈ�«�¼Dĺ·�¹ºÊDÄq¬

¶NÄhªl±�±¾D¹q¬S©Lª:©L¶L¾D¹º¬a±PÀ �)³ � ��*-������, ��� � � *������ � ����� �����:ÉFÊê:Èl¬:± � � ��� � ,��7É� ¶P·�¯l´Ã¬S© � ,/,�!7À�ÊD©�¹º³R·X¬:»�ªl± � ��� . � Ë � ��¯l·�¹h¶P¬:±NÉ ./< � � !��ÆÀ

+ � :, 0 0 �|¬S³R·���¬:¶L°�ª:³Ã»�7�ªrĺʲ¾� l¯l¾²³Ã±t¯3³AÀ .]ª:·X·X¬�©X³Ã±IÈl¬S³²¬S©Lª:·X¬zª:©L¶L¾D¹º·�¬:¶P·�¼D©X¬:±NÀ�)³���� � *�!#�� � � * � �-����� � ��� * � � ���-����� ��� � � � � ����, � � * � �� � ��� � É�ÊêrÈ3¬:±� �=, � ��0 ,7É ��¯lÄq¯lÈ3³Ãª7É �)·LªrÄqÂVÉ l¼Dĺ � ,=, 0 À���ÊD©X¹q³DÈl¬S©�¸ ��¬S©�Ähª:ÈDÀ

+ ��Î47 � ,���0{¨D©Æªr³D°���¼Ã±t¾D«�ªr³D³AÉ7�¬SÈ3¹º³D¬sÎ%¬S¼D³²¹º¬S©�É �|ªr³Ã±$7�¯l¾D³D¬�©X·SÉ .F¬S·�¬S© �V¯3«­«­¬S©�¸Ä�ªl»'É0ªr³Ã»�Î%¹h¶L¾Ãªr¬�Ä �V·Lª:Ä)À � %� � ��� � ��� � � � � � ��, � *����"! ����#� ����( � �������"� ���%$&�� � ��� �� *�� � %� � ��� � �NÀ l¯l¾²³ ��¹ºÄº¬�Â�ªr³Ã»6��¯l³Ã±NÉ �¾D¹h¶L¾D¬:±_·X¬S©�É)��¬a±t·>�V¼Ã±X±_¬)9�ÉÑ]³DÈ3Ähª:³Ã»'É � ,=,��7À

+ � 7���� 0 ÁA¬:» DÀ ��¹ºÈ3Èl¬S©Æ±t·Æª �,ª:³Ã» �¾½ªr©XÄq¬:±87¦¹�¶�¾R·X¬�©SÀ 7�¬S¼Ã±Xª:´D¹ºÄq¹º·_Â�Å�©Lª:«­¬S®�¯3©X°�ɪ3±X±_¬:±X±_«­¬S³R·SÉIª:³Ã» »7¹º©�¬:¶P·X¹q¯l³Ã±NÀ '(���)� � *����*! ����LÉ 0 � .��

�0 ����0 ,7É�Îzªr©Æ¶�¾

� ,�� �VÀ+��Äq¬ ����0 DÀ��À �ĺ¬:ªSÌV¬SÄ�ªr³Ã»�À���¼²¹ºÄh»R¹º³DÈsªrʲÊDĺ¹�¶Sªr·�¹º¯l³�È3¬S³D¬S©Æªr·X¯3©L±NÀ�'+�)�)� � *����*! ����ÆÉ

0 � < ��./< � ���7É l¼Dĺ � ,����7À

+��¯3« ����0 Ë�ÊDÊDĺ¬ �¯3«­ÊD¼D·�¬S©SÀ)� ��,� !�! � � * � �� � '���.- �/0� � , �LÀ � ,����7À+��¯3³ 0 Ë�³Ã»7¬S©Æ±t¬S³ �¯l³Ã±_¼Dĺ·�¹º³DȲÀ Ñ ª:ÈlÄq¬ ª:©L¶L¾D¹º·�¬:¶P·X¼²©X¬ ±tÊì:¶N¹vÒ�¶Sª:·X¹q¯l³AÀ

¾R·X·�Ê�� �S®�®�®�À�ªl¶lÀ�¶P¯l« ��¬:ªrÈ3ĺ¬��a±tÊì:¶���À

+��¯3Ê,���0 Vª:«­¬:± � À �¯3ÊDĺ¹q¬S³AÀ�� %� ����� � �NÀ � ��� �ÃÉ��¬S® ��¯l©X°�É ���IÉ � ,=,��RÀ+��¯�9 ����0 ��©Æªl» DÀ �¯19�À � ���-�����1� � � � � ����, � � * � �� � ��� � À Ë|»D»7¹�±t¯l³²¸ ��¬:±tÄq¬SÂVÉ

7�¬:ª3»7¹º³DȲÉÃÎzªl±�±Xªl¶L¾R¼Ã±t¬S·�·L±NÉ � ,����7À+� � ,=<10 Vª:«­¬:± � À �¯lÊDÄq¹º¬S³sªr³½» �¯l¼DÈ �R¶�¾²«­¹h»7·�ÉP¬:»R¹º·X¯3©L±NÀ � %� ����� � � � � � � ��� *��

� ��* � � � � � � � � � À!Ë|»D»R¹h±t¯3³D¸ ��¬:±_ĺ¬SÂ�É 7�¬:ªl»7¹q³DÈDÉÃÎzª3±X±�ªl¶L¾7¼Ã±_¬S·X·Æ±PÉ � ,=,=<RÀ+ �¬S¼ ��� 0 � À+.F¬S·�¬S© �¬S¼D·Æ±X¶L¾AÀ � ¬�ÌV¬SÄh±]¯rÅÛ©�¬S¼Ã±_¬�¹q³�·�¾D¬���«�ªrÄqĺ·Lª:ĺ°R¸ ��!�ÊD©�¯lÈl©Æªr«­«~¹º³DÈ

±_ÂD±_·X¬S« À �)³ .F¬S·X¬�©�¨D©X¬S¬S«�ªr³AÉì:»7¹q·X¯l©�É32�����*�� � %�4$ � *����"! ����#5 �,� � �� � � � � � À�_Ñ�Ñ�Ñ �¯l«­Ê²¼D·X¬S©$�V¯R¶P¹q¬S·_ .]©X¬:±�±PÉ � ,�����À

+ �¬S¼ �=,�0 � À .F¬�·X¬S© �¬S¼D·Æ±X¶L¾AÀ �¬:±t¹qÈl³I©�¬S¼Ã±t¬�ª:³Ã»�Å�©Æªr«­¬S®!¯l©�°D±A¹º³I·�¾D¬ �V«�ª:ĺĺ·ÆªrÄq°7¸ ��!ʲ©X¯lÈ3©Lª:«­«­¹º³²È�±_ÂD±_·X¬S«zÀ �)³ ÁA¬:»� DÀ ��¹qÈlÈl¬�©L±t·Æª �,ª:³Ã» Ë�Ähª:³ DÀ .F¬S©�ĺ¹h±Nɬa»7¹º·�¯l©L±NÉ � *����"! �����5 �6� � �� � � � � �%708 *%�9'('LÉNÊêrÈ3¬:±�</< � � � À3Ë !Î .u©�¬:±X±NÉ � ,��/,7À

� ,

Page 20: Components, frameworks, patterns [ralph e. johnson]

+ Ñ�¨�� � ,��10 � ªS®�©�¬S³Ã¶P¬ Ñ]³DÈ²É �|¬S³ ¨D©�¬S¬:»'É l¹º« ��¯lĺÄq¹h±_·X¬S©�É !ªr©�Ähª l¯l´Ã¬VÉ .]ªr¼²ÄÎz¶ ��¼²¹º©X¬�É%Ë�Ä�ªr³ Î%¯V±_¬S©SÉ �B¹º³ÃªSÂRªr° .?ªr©X¹q°7¾0É%Îzª:©XÈVª:©X¬S· .]©Lªr·�·SÉz¨D©�¬:»� ªl±_°7¹q¬S®�¹h¶NÕVÉêr³Ã»z¨D©Æªr³D° ��¬:ªrÈ3¬S©SÀ��¯l«­ÊD¼²·X¬S©�¹q³7·�¬SÈl©Æªr·X¬a»�«�ª:³7¼7Å�ª3¶P·X¼²©X¸¹q³DÈ ��¶P¹º« �½ªrÊDʲĺ¹h¶�ªr·X¹q¯l³{Å�©Æªr«­¬S®!¯l©�°�±tÊì:¶P¹yÒ�¶Sª:·X¹º¯3³ � À��7ÀÃÁA¬:¶L¾D³D¹�¶SªrÄ 7�¬SÊïl©�·ÁA¬:¶L¾D³D¯3ĺ¯lÈ3Â}Á�©Æªr³Ã±)Å�¬S©$,���!�� � �=, �:¨F¸�Ñ ���sÉ��ÇÑ ÎzË�Á�Ñ ��{É � ,=,��RÀ

+ ¨D¯V¯ ���10 ��©�¹hª:³�¨D¯V¯l·�¬VÀ��¬:±_¹ºÈ3³D¹º³DÈ�·X¯zÅ�ªl¶N¹ºÄº¹q·Lª:·X¬�¶L¾Ãªr³²Èl¬%®�¹q·X¾¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»Å�©Æªr«­¬�®�¯l©�°D±NÀ Îzª3±t·X¬�©)3é±�·X¾D¬:±_¹h±NÉ 5�³D¹qÌV¬S©L±_¹º·_ ¯rÅ��)ĺĺ¹q³D¯l¹�±�ª:· 5�©�´Ãªr³Ãª:¸�¾½ªr«­Êê:¹ºÈ3³AÉ � ,����7À

+ ¨D¯V¯ , � 0 ��©�¹hª:³­¨D¯V¯l·�¬VÀÛÁ�¾D¬�ĺ¹vÅ�¬a¶PÂD¶Nĺ¬�¯rÅ0¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»Å�©Lª:«­¬S®!¯l©X°²±�Ë�Å�©Lª3¶P·Lª:Ä

ÊìS©Æ±tÊì:¶P·�¹ºÌV¬VÀ 5�³D¹qÌV¬S©L±_¹º·_ÂI¯rÅ �)Äqĺ¹º³²¯l¹h±�ª:· 5�©�´Ãªr³½ªr¸��¾Ãªr«­Ê½ªr¹ºÈ3³AÉ � ,/, � À+ ¨D¯:®$,�� 0 Îzª:©X·�¹º³ ¨½¯:®�Äq¬S©SÀ � � %� � � � � � %� � ��� � � $ 5 �6�%� ���� � � ���-����� � *-, ���/�NÀ

ËB»D»7¹h±_¯l³D¸ ��¬:±tÄq¬SÂVÉ 7�¬:ª3»7¹º³DȲÉÃÎzªl±�±Xªl¶L¾R¼Ã±t¬S·�·L±NÉ � ,=, �VÀ+���� �� ,=<10�Ñ]©�¹h¶L¾ �Bª:«­«�ª7É 7�¹h¶L¾Ãªr©Æ» ��¬Sĺ« É 7�ªrÄqÊD¾ l¯l¾D³½±t¯l³0ÉAªr³Ã» l¯l¾D³��|ĺ¹�±X±_¹h»7¬:±NÀ

� � � � � � � %� ����� � � $ � � �� '� � � � *�� 5 �6� � ���� ��� ���-����� ��� � � � � � ��, � *����*! ����ÆÀËB»D»7¹h±_¯l³D¸ ��¬:±tÄq¬SÂVÉ 7�¬:ª3»7¹º³DȲÉÃÎzªl±�±Xªl¶L¾R¼Ã±t¬S·�·L±NÉ � ,=,/<7À

+���¯3Ä � 0 0 ËB»7¬Sĺ¬ ��¯lÄ�»7´Ã¬S©XȲÀ � %� � � %� � � ����$ 2 (#� ' � � ��� ���� ��� � � � * � �� � ��� �� ��� � � * � '� � ��À�ËB»D»7¹h±_¯l³D¸ ��¬:±tÄq¬SÂVÉ 7�¬:ª3»7¹º³DȲÉDÎzª3±X±Xª3¶�¾R¼Ã±_¬S·X·Æ±PÉ � ,�� 0 À

+���¯�± ,�!�0 �Ǫr³lµ_¹qÌ ��¯�±X±�ªr¹º³0À � ���-����� ��� � � � � � ��, � � � � �$*�! '� � � � , 5 �6�%�-�LÀ .]¾·�¾D¬:±_¹h±PÉ5�³D¹ºÌV¬S©Æ±t¹q·tÂI¯:Å�Ñ�±�±t¬)9�É5 �IÉ l¼D³²¬ � ,/,�!RÀ

+���7�����0 ËB»7¬Sĺ¬ ��¯lÄ�»7´Ã¬S©XÈ�ª:³Ã» |ªSÌR¹h» 7�¯l´Ã±_¯l³AÀ � %� � � %� � � ����$ 2 (#� � � � � � � � , � �)�&'� "!#� �� '� � � %� � * � À�Ë|»D»R¹h±t¯3³D¸ ��¬:±_ĺ¬SÂ�É 7�¬:ª3»7¹º³DȲÉÃÎzªl±�±Xªl¶L¾R¼Ã±t¬S·�·L±NÉ� ,����7À

+ ������,�!10 7�¹h¶L¾Ãª:©L» ��¬Sĺ«zÉ��tª:³ÔÎ�À ��¯lÄqÄhª:³Ã»'ɪr³½» �¹qÊêSÂRªr³ �Bª:³DÈl¯3Êêl»7¾RÂRªSÂVÀ�¯3³7·�©Lª3¶P·L±

��VÊì:¶P¹yÅ�Â7¹q³DÈz´Ã¬S¾ÃªSÌ7¹q¯l©ÆªrÄB¶P¯l«­Êï�±t¹º·�¹º¯3³Ã±{¹º³¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»

±_ÂD±_·X¬S«�±PÀ �)³ � � *-������, ��� � � *�� �&� � ��� � �����:ÉÃÊê:Èl¬:± � �/, � � ��!RÉ � ¶P·X¯3´Í¬�©� ,=,�!7À�ÊD©�¹º³R·X¬:»�ª3± � ��� . � Ë � ��¯3·X¹�¶P¬:±PÉ .=< � � ! �LÀ

+ �� VÑ�,/<10 ��¬S©X«�ª:³D³ ��¼²³D¹)É�7�ªrÄqÊD¾ l¯3¾D³Ã±t¯3³AÉVª:³Ã»'7�¯l´Ã¬S©�·]Ñ]³DÈ3¬SÄ)ÀVË�Å�©Æªr«­¬S®!¯l©�°¦Å�¯3©³²¬S·_®�¯l©�°%ÊD©�¯l·�¯R¶P¯lÄ!±t¯:Å�·_®�ªr©�¬VÀ �j³ � ��*�������, ��� � � *�� �&� � ��� � �����lÉ'ÊêrÈ3¬:±�/<�� � ���/,7ÉÛË�¼Ã±_·X¹q³AÉDÁA¬)9²ªl±PÉ l¼²ÄºÂ � ,=,=<RÀ'Ë !Î�À

+ V¨ ���10 7�ªrÄqÊD¾ Ñ�À l¯l¾²³Ã±t¯3³ ªr³Ã»���©�¹hª:³ ¨½¯V¯3·X¬VÀ �¬:±t¹qÈl³D¹q³DÈ©X¬S¼Ã±�ªr´DÄq¬z¶PÄ�ªl±�±t¬:±NÀ�+*�� � � %� *���� ���-����� ��� � � � � � ��, � � * � � � ��� � É � � . � �

.=. � �=<RÉ � ,����7À+ l¯3¾,=.�0 7�ªrÄqÊD¾�Ñ�À> l¯3¾D³Ã±t¯3³AÀ��¯R¶N¼D«­¬S³R·X¹q³DÈ�Å�©Æªr«­¬S®!¯l©�°D±�¼Ã±t¹q³DÈ�ʽªr·X·�¬S©X³½±PÀ �)³

� ��*�������, ��� � � *�� �&� � � ��� �����VÉ�Êê:Èl¬:± ��� � � �7É �!ªr³Ã¶N¯l¼DÌV¬S©�É���©�¹º·�¹h±t¾�¯3ĺ¼D«�´D¹�ª7É � ¶P·�¯l´Ã¬S© � ,=,=.RÀAË !Î�À

.�!

Page 21: Components, frameworks, patterns [ralph e. johnson]

+ �. ����0 ��Äq¬S³D³ Ñ�À �|©Lª3±t³D¬S©�ªr³Ã» �V·�¬SÊD¾D¬�³ Á|À�.F¯3ÊìVÀ Ë�¶P¯V¯l°R´Ã¯V¯l°�Å�¯l©­¼½±t¹º³²È·�¾D¬�«~¯R»7¬Sĺ¸�ÌR¹º¬S®�¸�¶P¯l³R·X©�¯lÄqĺ¬S©�¼Ã±_¬S©�¹q³7·�¬S©tÅ�ª3¶P¬�Êê:©Lª3»7¹ºÈ3« ¹q³ �V«�ªrĺÄq·Lª:ĺ°R¸��!7À �+*�� � � %� *�� � � �-����� � � � � � � ����, � � * � �� � ��� � É � � ���

�.�� ��0 ,RÉzË�¼D¸

È3¼Ã±t· �=�VÊìS·�¬S«�´Í¬�© � ,����7À+ � 7]Á �/,10 ��¾D«�¼²¬SÄ ��ª:·XÕVÉ �¾Ãªr©�ĺ¬:±�Ë{À 7�¹h¶L¾7·�¬S©SÉ~ªr³Ã» ��¾²¬S¸ ��¹º³DÈ Á�¾D¬VÀ .]ªr©�¹h±

�Ë ±_ÂD±_·X¬S« Å�¯3©z©X¬S¼½±t¹º³²È�Êêr©�·X¹hª:ĺÄq ¹q³7·�¬S©XÊD©�¬S·X¬a»Ð±X¶L¾D¬S«�ª3±PÀ �)³ ÁA¬:» DÀ��¹qÈlÈ3¬S©L±_·Lª � ªr³½»�Ë�Ähª:³ DÀ .F¬S©�ĺ¹�±PÉ]¬:»7¹q·X¯3©L±PÉ � *����"! ���� 5 �,� � �� � � � � �%7 8 *%�'ÆÉDÊêrÈ3¬:±$.=<�� � . � �7ÀÛË !Î .]©X¬:±�±PÉ � ,��=,RÀ

+ �|©�¼,=.�0 �¾½ªr©XÄq¬:± � À ��©�¼D¬SÈ3¬S©SÀ �V¯:Å�·_®�ªr©�¬�©X¬S¼Ã±_¬VÀ ���� � *� "! ��� ��� � � � � � � � �NÉ. 0 � .��

�� � �,� � ���DÉ l¼D³D¬ � ,=,=.RÀ

+ � �����)0 Î%¹q·L¶L¾D¬SÄqÄ�{À � ¼D´Ãªr©Æ±�ª:³Ã»�Î%¬�¾Ã»7¹~Á|À �Bªr©Lª:³Ã»7¹�À �|³D¯:®�ĺ¬:»7È3¬S¸�´Ãªl±_¬:»±_¯rÅ�·_®�ª:©X¬~»7¬:±_¹ºÈl³z¼½±t¹º³²È%»R¬:±t¹qÈl³�±X¶L¾D¬S«�ªl±PÀ �)³ � � *-�

��%�)( ' � � �

�� * � �

�* �

� *����"! ����&� � � ��� ����� ��� � É�ÊêrÈ3¬:± ./<�� � .��/.7ÉAÎzª:©L¶L¾ � ,�� �VÀ+ � .>, � 0 ��¹qÄvÅ 7�À � ª � ¯3³Ã»7¬~ªr³Ã»4 l¯3¾D³*7�À .]¼DÈ3¾AÀ ' � � � , � � %� � �� %� � 7 8 *%� � '�#'('LÀ

.]©�¬S³7·�¹h¶P¬ �|ªrÄqÄ)É � ,=, � À+ � � ��=,�0 Îzª:©X°sË{À � ¹q³7·�¯l³AÉ/ l¯l¾D³�Î�À �Bĺ¹h±�±t¹�»7¬:±PÉ:ª:³Ã» .?ªr¼DÄ 7À�!ª:Äh»7¬�©SÀ �¯l«­Êï�±t¹º³²È

¼½±t¬S©I¹q³7·�¬S©tÅ�ª3¶P¬:±|®�¹º·�¾ �)³R·X¬S© �|¹º¬�®�±PÀ � *� "! � � ���LÉ>.=. � .���� � .=.RÉ�¨D¬S´D©X¼½ªr©XÂ

� ,��/,7À+ Îz¶ � ���10 Î�À�sÀSÎz¶)�)ĺ©�¯:ÂVÀ:Îzªl±�±�ÊD©�¯R»7¼Ã¶P¬a»±_¯rÅ�·_®�ª:©X¬!¶P¯3«­Êïl³D¬S³R·L±NÀ=�)³ .FÀ �|ªr¼²©Ûªr³Ã»

�|À7�ªr³½»DªrÄqÄ)Éì:»7¹º·�¯l©Æ±PÉ � *����*! ����&� � � ��� ����� ��� � $&5 � ! *���� * � ��* � �-����� � ���� � � (#��� � 2)� � � � � � ��� � *� � � �����LÉRÊêrÈ3¬:± � ��� � � <�!7À �|Ë�Á � �ǶP¹º¬S³R·X¹yÒ�¶Ë �Aª:¹º©Æ± �¹qÌ7¹�±t¹q¯l³AÉ � ,����7À

+ Î%¬� ���10 ��¯l©X«�ªr³�Î%¬SÂR©X¯:®�¹º·�ÕVÀ4�)³7·�¬S©X«~¬:»7¹hª�Á�¾D¬}ªr©L¶L¾D¹q·X¬:¶P·�¼D©X¬~ªr³½»�¶P¯3³Ã±t·�©X¼Ã¶P¸

·�¹º¯3³ ¯:Ū:³ ¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»�¾7ÂRÊìS©X«­¬a»7¹hªÐ±_ÂD±_·X¬S« ªr³½» ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³Å�©Æªr«­¬�®�¯l©�°'À �j³ � � *-������, ��� � � *�� �&� � ��� � ����� 7 � ���-����� ��� � � � � � ��,� ��* � � � ��� � � � ��� �� � 7 � � � � � � � � , � !�!#� � �� %� � * � �NÉlÊêrÈ3¬:± � ��� � .�! � É��¯rÌV¬�«�´Ã¬S© � ,����RÀ ÊD©�¹º³R·X¬:»�ª3± � ��� . � Ë � ��¯l·�¹h¶P¬a±PÉ . � � � � �ÆÀ

+/. � � � ����0�ËsÀ� DÀ-.]ªrÄ�ªaÂ�É1� À� DÀ��|ªr³½±t¬S³AÉ3Î�À � À ��ª:Õ:ªr©�ÉlÎ�À=�V¾²¬S©X«�ª:³AÉ:Î�À �sÀ)� ªl»7Äq¯:®�ÉÁ|À .FÀ��¬�¼D¬S³Ã»7¯3© ��¬S©�É �ÛÀ ��·X¬S©�³AÉDÎ�À ��ªl»7¬S©�ÉDª:³Ã»%Á|À+.F¬S·X©�¬VÀ]Á�¾²¬�Ë�³Ã»7©�¬S®ÁA¯V¯lÄq°7¹q·� ªr³�¯rÌV¬�©XÌR¹º¬S®�À �j³�� ����� '� � ��� *-� � %� � * �� ��� ����� � * � �-����� � ���ÆÉBªrĺÄ�ªl±NÉ � ,����RÀ

+/.]©�¬�,=<�0 ��¯lÄyÅ�ÈVª:³DÈ .]©X¬S¬VÀ � ��� � � � � %� � ��� � � � *���� ���-����� ��� � � � � ����, � *����"! ����� � � ���$*�! '� � ��À�Ë|»²»7¹h±_¯l³D¸ ��¬a±tĺ¬�ÂVÉ 7�¬:ªl»R¹º³DȲÉÃÎzªl±X±�ªl¶L¾7¼½±t¬S·�·L±PÉ � ,=,/<7À

+/. � ���10 �)³Ã¶3À#.]ªr©Æ¶ .]Ähªl¶N¬'�V²±t·X¬�«�±PÀ � %� � � %� � � ��� 5 � �-����� � ���&�� � � %��À � ,����7À

. �

Page 22: Components, frameworks, patterns [ralph e. johnson]

+/. � , 0 0 �)³Ã¶3À#.]ªr©Æ¶ .]Ähªl¶N¬'�V²±t·X¬�«�±PÀ 8 � � � %� *�� � � � *-* � ��*-* � À � ,=, 0 À+ 7 ��/,10 �B¹º³Ã¶P¬�³7· 7¦¼½±X±t¯Ïªr³Ã»�7�¯r �{À !ª:«­ÊD´Ã¬SĺÄ�À �|¹º©�·X¼Ãª:Ä7«~¬S«­¯l©�Â�ªr³½»�´Ãª3¶�°R¹º³²È

±_·X¯3©LªrÈ3¬ «�ªr³Ãª:Èl¬S«­¬�³7·}¹º³�«�¼Dĺ·�¹ºÊD©�¯R¶P¬:±X±_¯l©z¯3Êͬ�©Lªr·�¹º³DÈ ±t²±t·X¬�«�± ¼½±t¹º³²È¶NÄhªl±�±�¾D¹q¬S©Lª:©L¶L¾D¹h¶Sª:Ä�»7¬:±_¹ºÈl³0À��)³ � � *-������, ��� � � *��1�&� � ��� � �����lÉ�ÊêrÈ3¬:±.���� � .�� �7É ��¬S® � ©XÄq¬:ªr³Ã±NÉ � ¯3¼D¹h±_¹hªr³½ª7É �V¬SÊD·�¬S«�´Ã¬S© � ,��=,RÀ

+ 7�¬S¬�,��10 ÁA©XÂRÈlÌV¬ 7�¬S¬S³Ã±_°lª:¼DÈDÀ *�� � ��� � ! � �)( � ���-�����)� $ 2 (#� �&��5 � � *����"! ����� � � ��� ����� ��� � � � � (+*-,lÀ]Îzª:³D³D¹q³DÈDÉ ��©X¬S¬S³R®�¹h¶L¾AÉ !Á|É � ,/,��RÀ

+ 7$ :,�� 0 �¯l³ 7¦¯3´Í¬�©X·L±�ª:³Ã»67�ªrÄqÊD¾� l¯l¾²³Ã±t¯3³AÀ � � *%� �+��� � � �� � '�6! *�� � � $ � � %� ����� �� � � � � �� *�� � � � ���$*�! ��� � � �� � '�6! *�� � �NÀ�Ë|»²»7¹h±_¯l³D¸ ��¬a±tĺ¬�ÂVÉ 7�¬:ªl»R¹º³DȲÉÎzª3±X±�ªl¶L¾7¼Ã±_¬S·X·Æ±PÉ � ,=,���À

+ 7�¯V± ,=<�0 � ª:©X©�Â87¦¯�±t¬S³½±t·X¬�¹º³AÀ � �����!�! $�� � � ����� *� '��� � � %� � � � � ����� ����� ����� �� � '���! *�� � ÉöL¾Ãª:ÊD·X¬S©$<RÀ�Îzª:³D³D¹q³DÈDÉ���©X¬�¬S³7®�¹�¶�¾0É !Á|É � ,/,=<RÀ

+ 7�¼Ã± ,�!10 �B¹º³Ã¶P¬�³7·~¨�À 7¦¼Ã±�±t¯²À � � � ���-����� ��� � � � � � ��, � !#���� %� ��� � � � ������ {À .]¾·�¾D¬:±_¹h±PÉ5�³D¹ºÌV¬S©Æ±t¹q·tÂI¯:Å>�)Äqĺ¹º³²¯l¹h±!ªr·�5�©X´½ªr³Ãª:¸ �¾Ãª:«­Êê:¹ºÈl³0É � ¶N·X¯l´Ã¬S© � ,=,�!7À

+ �Ƕ�¾ ���10 �|¼D©�· DÀ��R¶L¾D«�¼½¶�°3¬S©SÀ � ���-����� ��� � � � � ����, � ��* � � � ��� � � *��� (#�#�� �� ��� �� *���(RÀ��|ªSÂD»7¬�³8��¯V¯l° �¯l«~Êêr³RÂVÉ � ,����7À

+ �Ƕ�¾,/<10 �Bªr³Ã±IË�Äq´D©X¬a¶�¾R·'�R¶L¾D«­¹�»7·SÀ �©X¬:ª:·X¹º³²È%·X¾²¬�ªr©Æ¶�¾D¹q·X¬:¶N·X¼D©�¬I¯rÅBª%«�ª:³7¼7Å�ª3¶P¸·�¼D©X¹q³DÈ­Å�©Lª:«­¬S®�¯3©X°�´RÂz»7¬:±_¹ºÈ3³zÊêr·�·X¬S©�³Ã±PÀ �)³ � � *-������, ��� � � *�� �&� � ��� ������lÉDʽªrÈl¬a± � � ! � ��� 0 ÉÛË�¼Ã±_·X¹º³0ÉDÁA¬)9Dª3±PÉ l¼DÄq � ,/,=<RÀ'Ë !Î�À

+ ��Êͬ ���10 ��¬S³D©X ��Êͬ�³Ã¶P¬S©�À ��¯:®=·�¯}±t·X¬aªrÄ�¶N¯R»7¬VÀ �)³ � � *-������, ��� � � *�� � (#� ��� ����� ����� � �-� ����� 2#����( ��� �� %� � * � �-����� � ���LÉ � ,����RÀ

+ ��·Lª=,/<10 7�¹h¶L¾Ãª:©L» �V·ÆªrĺÄq«�ªr³0À � � ��� � � , � *���� ��� � / � � ���]ÀШD©�¬S¬ �V¯:Å�·_®�ªr©�¬¨D¯3¼D³Ã»Dª:·X¹º¯3³AÉ ��¯V±t·�¯l³AÉ�ÎzË{É � ,=,/<7À

+ ÁA©Lª/, 0 0 ��¹qĺÄ�ÁA©Lª3¶PÕVÀ |±X±�ª Å�©X¬:¿V¼D¬S³R·XÄq ªl±_°V¬:»�¿V¼D¬:±_·X¹q¯l³Ã±NÀ ���� � *����"! ����� � � ��� ����� ��� � � *%��� �NÉ � , � .�� �

<=. � <��RÉÛË�ÊD©X¹qÄ � ,=, 0 À+ ÁA©Lª/,=<�0 ��¹qĺÄÏÁ�©Æªl¶PÕVÀ � *� ��� ��!#��� � � � � *����*! ���� � � ��( � �������*� ��� � � � ��� ����� ��� �

� ��*�������� /0� � , ��� ��� � �NÉ�¶�¾Ãª:ÊD·X¬�©�Ë�ÊDÊìS³½»7¹ 9�ËsÀ�Ë|»D»7¹�±t¯l³²¸ ��¬:±tÄq¬SÂVÉ � ,=,/<7À+ � �� ,���0 l¯3¾D³ Î�À �Bĺ¹h±�±t¹�»7¬:±PÉ Vªr«­¬a± � À �¯lÊDÄq¹º¬S³0É�ªr³Ã» ��¯l©�«�ªr³ � À �|¬S©�·X¾AÉ

¬a»7¹º·�¯l©L±NÀ�� %� � ��� � � � � � � � � *�� � ��* � � � � � � � � � �VÀ�Ë|»D»7¹�±t¯l³²¸ ��¬:±tÄq¬SÂVÉ7�¬:ª3»7¹º³DȲÉÃÎzªl±�±Xªl¶L¾R¼Ã±t¬S·�·L±NÉ � ,=,��7À

+ � ���/,10 �¬S³D³D¹�±�Î�À ��¯lÄqÊêr³D¯ ªr³Ã» 7¦¹�¶�¾½ªr©L» �|À �|¹q¬S´D¼D©�·XÕVÀ Á�¾D¬�·�¬S«­ÊDÄ�ªr·�¬:±ª:ÊDÊD©�¯Vªl¶L¾ ·X¯"±t¯rÅ�·_®Øªr©X¬ ©X¬S¼Ã±_¬VÀ �)³ ÁA¬:»� DÀ$��¹ºÈ3Èl¬S©Æ±t·Lª)��ª:³Ã»ÐË�Ä�ªr³ DÀ.Û¬S©XÄq¹h±PÉ�¬:»7¹q·X¯3©L±PÉ � *����*! ���� 5 �6�%� �� � � � � � 7 8 *%� 'LÉ]Êê:Èl¬:± . 0 � � .=</<7À�Ë !Î.]©�¬:±X±NÉ � ,��=,RÀ

.=.

Page 23: Components, frameworks, patterns [ralph e. johnson]

+ � � �=,10 l¯3¾D³�Î�À��Bĺ¹h±�±t¹�»7¬:±{ª:³Ã»�Îzª:©X°ËsÀ � ¹º³R·X¯l³0À 5�³D¹h»R©LªS®�Ë�Å�©Lªr«~¬S®�¯3©X°

Å�¯3©­´D¼D¹qÄh»7¹q³DÈ »7¯l«�ª:¹º³D¸�±tÊì:¶N¹vÒ�¶�Èl©Lª:ÊD¾D¹�¶SªrÄ|¬a»7¹º·�¯l©L±NÀ��)³ � ��*�������, ��� � � *���)(#� ���� � �-����' � � ��� � ���� � *����"! ���� � , 2 ����( � *%�$* � � � ��- ��� � * � �-����� � ���ÆÉʽªrÈl¬a± � �,� , 0 É ��¯rÌV¬�«�´Ã¬S© � ,��=,RÀ

+ �Bĺ¹ ,�!10 l¯3¾D³ Î�À �Bĺ¹h±�±t¹�»7¬:±PÀ / � � ��� %� ����,�/"�� �! ( � �� %�3� ���-����� � , � � ��� � À .]¾

·�¾D¬:±_¹h±PÉ ��·Lªr³RÅ�¯l©L» 5�³D¹qÌV¬S©L±_¹º·_ÂVÉ: l¼D³²¬ � ,=,�!7À+ � � ,�!10 Ë�ĺÄhª:³ ��¹º©_Å�±t¸ ��©X¯R¶L°'À�Ñ�¶P¯V¯3Ê �S¯V¯3ÊñtÄ�ª 3;,�!�Êêr³D¬�Ä�¯l³"»7¬:±_¹ºÈl³²¹º³DÈ}©X¬S¼Ã±�ªr´DÄq¬

Å�©Æªr«­¬�®�¯l©�°D±NÉ � ¶P·�¯l´Ã¬S© � ,/,�!RÀ+ � � :,�!10 7�¬S´Ã¬:¶S¶�ª DÀ ��¹q©tÅ�±t¸ ��©X¯R¶L°�ª:³Ã»�7�ªrÄqÊD¾}ѦÀ l¯l¾²³Ã±t¯3³AÀ �V¼D©�ÌV¬SÂR¹º³DÈ�¶P¼²©X©X¬�³7·

©�¬:±t¬aªr©L¶L¾�¹º³�¯l´Dµ_¬:¶P·�¸�¯3©X¹q¬S³7·�¬:»z»7¬:±_¹ºÈ3³AÀ � *� � � � �� %� � * � �&*�� �)(#� ����zÉ��� � ,��

�� ! 0 � � . 0 É � ,/,�!RÀ

+ � �BÎ ���10 ËsÀ1��¬S¹º³½ªr³Ã»'É�ѦÀ �|ª:«­«�ªRÉ:ªr³Ã» 7�ÀlÎzª:©X·_ÂVÀ²Ñ Á��Ë�³{¯l´Dµ_¬a¶P·X¸�¯l©�¹º¬S³R·X¬:»

ª:ÊDÊDÄq¹h¶Sª:·X¹º¯3³�Å�©Lªr«~¬S®�¯3©X°z¹º³ �sÀ �)³ � � *-������, ��� � � *�� �&� � ��� � �����lÉʽªrÈl¬a± 0 � � <��VÉ ��¯:ÌV¬S«�´Ã¬S© � ,����7ÀDÊD©�¹º³R·X¬:»�ªl±>� ��� . � Ë � ��¯l·�¹h¶P¬a±PÉ/.�� � � � �LÀ

+ � �BÎ �=,10 ËsÀ ��¬�¹º³Ãª:³Ã»'ÉÛÑ�À �Bª:«­«�ª7É�ªr³½» 7À0Îzªr©X·_ÂVÀ �¬:±t¹qÈl³ ªr³Ã»�¹º«­ÊDÄq¬S«�¬S³V·Lª:¸·�¹º¯3³�¯rÅBÑ�Á�sÉ]ª%±_¬:ªr«~ĺ¬:±�±�¯l´Dµ_¬:¶N·X¸�¯l©X¹q¬S³R·X¬:»�ªrÊDʲĺ¹h¶�ªr·X¹q¯l³zÅ�©Lª:«­¬S®�¯3©X°�À� ���6� ���"� ����, � � * � �� � ��� � É � ! � .�� �

��� � � �VÉ � ,��/,7À

.��