Design Patterns Natraj
Design Patterns Natraj
Ith;ch cornes a$ -fest soltnhidn frr rt "t n-e prob)e/Ds o? aff,t'tahctY, dt*brr*nt .
De$ign filfcr n S a"re 6u.St praoi ceS lO use Slto le}ndogieS ePfer; uEJt ln pn j€d 6( a14'Lraa,t)oa
dgloj,rrrTy .
----t D€5i0h pdrteln av[ $.pr-riry cale arbtte J-.6png slq, Pro,.r'ers by
"s;g pb:, leolrradogies,
-)
-7he
$(rst Soltr ticn f^ '%l -" pvob\ero 6:f pyD.ie.tl' 6/ a?pljcai 6h derxUy*,r is c-ojxe./ os
Aon - WlIetn
-i JdF wr-@r--!9ry!li-'
Singie fdn java c lass
Fad-ar $
Absi"au
T€Ynplarc rnerho d
Et-.itdel Prtc'n
pmtfrne P&rn
Vielo llel()e'l
Crrn06sii V ia(,
Vci mve3
M\,(a
Fnnt (rmrr o lltr
lnLrncephnt Bfuu
Ab gh acr acr'^ tYo \\ e1
foltgrdtifn laqC-. Der;€n 3 :-
Jnv"lol.os JuriSr,s Sol,'H o', s +- no,j..'^ti',J -t
Pr:.fftYn
-> *nior
Sessiqn Prrc.(d e
w6I.ns a( *cl,nolop9 dti lizotjoor .ollt,"e os l"e 1t^nicn -,
t'\ sag gF.,rc. d 3
'laie hst Sduitns a't4 4'"n o' )
es
Jetr)oye's
$trvteLa-cf<1
2gs tl^.t a! d*,6"J frLk'ns'
&sines Sl)cli$a-hc
Ab6tYac,r DDo
!4I:i-- f,nslca/ oP (YEdir,$ rru lhYie 6qjecm oP ;hoa cla-n lo.,,"U &-"&r. o'd
&$sHn3
hlqb de merftn q
, degtc,d," eaqlp- f+ is recomende J tro Cl{a.l.. b.r)< 64at 6" J
,J X fxrrf6
a,-
a r
t hdr,{r Sla}i c qtf1rt.te Vadd$le tn
bn;ra,<
^
CJ nous r 5z.me clavs
c /onln 3 prore rs
gVe{ 'r ilg Clc'neL) to Scrrpre lS
.
€r
rr.rsr L* *'in o'. -P*\'r*['J ho'i"6 rde lu6i' u( $okr-. t".-'" ilj ;flj:'il
0
fr\ {crc vtr{es closc orr 4t J'--s + + j*oclb*" c^) op"'r unt6one
C*"h"A odttFs
Cld95 STes+
{
7
/lgotlc r.efetore varta-bte
/, Irnvotr Ct ttshuetw
.!,7 ftllcltse Srestt I
JL
s'o' P ( '' sresr : o -paxern , &r6h.!rr4 (a;vat )' ),'
t
,-z llstttic {-aC."g nerlloJ
\v.
lllblic S lali c $r.st crqg( )
L
iPIn==n,,11;
n =h.!t) STe*tt )
\v
a <ftJurrl h '
\-' t
J l/clas s
\--l5-r
-- ir.r./a c S inglr L0on lest 'iau^
\'J
Qantirre lass
2!:lYV
-) iav6' lang. c iS o ple-d€g bed Jdk ter€l Slngle fon jaraclc.ss-
ze d SiDgleto n java .lasg :-
-.Qg.,c1,ron;
,j:kn muldpte rtrreads a.jg dt't siogle o \kcJ- rkn fia'e i$ a pss;5;ltt'J rnrrfr$read;n3 -.
"f €.16"1
iS:[€s , this chans€ iS olso tht,e olule rrrctrt"l n3 oirh tbe tt*ods o, S"61u * icroa
Cla55 . -TO
orr o"rne ttL.is poblem ir i5 rczorntnded tD Lcsr 3n S;.,cbnai rx d Sr"g)er.- iooa clas< '
ab S6hchYDrnzed merloJt
ile yrrtfiod 6f a javrr clt c5 i'e ' gr,ltr,Ole { Corst'c.chnJ anJ etep'r"in 3
lrs ocon c lars(o{ )
er"-O"r - ffilal.t8{trn€thods:
-lt tea d t= -Thvud.
carrc Ttwad { ) j
ce (t:
fat.',aen
" cl : Ca Lnde'r ' gtfnsru^
' i5 o$er "P yt'F""- Cc'tend<x clar5 p[cl" it c'["t"rs 4
L it ig not crt.''Jt't 'lois o$ecl iF
clatt cantaaa
Ste'-c -fa,ro1 rrrrtrodf art Lrc& \ jdla ctc'vl a*s;de al ts cLaN ) l'\t
(Te4,| o6eet 4 i
-) io'a cJa+sce'
'fhes' a'ft ar\o vkfut ,Lr. dcuX;I S^Xlu--
on\fl ptvaLt Gmsrr'-dqJ
Q't"g
$t tng s? ne,.d [-ov- );
f,tr;n'1 3r - 5. ccnc o]rr ['t.ir d) I il Ok\et\o
( -*ft me (tdnX"lar: c&i
t-
n',eficd sk;ng cl,br
$x'ng&pput et = oero 6rcn6BuPf.' ('h"llD" ):
'S*r"g 5a = sb'fcr.bSi.rog [o,e),. /f t"rr
prrc l=ierc \)aPt1 )
. $r"rnX s3 =J
, 16 $wrn6 tl ;
LP u tnaot fo c.reax trol ' bj t6f"g e.lsrln$ oti d*a atA belollio<"'r *ren usc Dosl-6rrf€
"U,iect
+ d GdYr {€Jtrr n e.i*rn its oan c,b.rs ohictr (-s, otk, clc"rs ohlG ta') 6*cbx a8+
Fur-trrt Yr0ho
i .._. e rhe c\pat gilr'n by &,tn ,*.a r€arr€ty+s cetw, lytc i'e'e^cdt'elio
**yl
Vrr-eNl &.to.
d'&ti*&)
2,frd'ds *lxttn; n-6 enen1 o4rts-( ol"tc''ts
'"^*ft
* M\'tjl9i
5rroto
tgpe of Tnskarnce kcfdnj n:noA Z -
pblic &.e cla$ naF'e> *tnol (-\
Zc\elsname, aint<r rwr c>
f zattftatt i
' 't .,
$r:"gl},t?e< ori
l
i a"vo clavt-l
ci{ *st*u" d<rlel'ra
r.o6t cf rht pn&Rrtd ,atltf" m,,laHe classcr'
U.*ar3
// tfst'ia$r^
( la{J ft(r-
L int q',
+t6f ,b ',
n&^t,
@ @ rs4ip4e. dsd' i< lP il i( \^'t *llott\ *"1'
* oW 'n&h€L
tgric Void "nafgD,rac; ue!t'ts1 \' o '*lA (& objt'r *'a
t &,e*r dbj&f b"t B ,o94
d? a*-a; ,.(t,o^n b( ftja'*\ ^r.'";;'il 4- "*
b=b*b)
\ 0t inm;*(c "LW (r*"
c['as i' c-JtA ^ l'*-;*')'
IL$uc Vdid d;tpr)
i
s.o.f,('a="s+"5=.+)l
9
llctas
pl&\;c claL6 nddblcl;\r
,t .,
,ru-[5'1Ii *lr)
n ^^
Tarl'ro''o)'
), *-n*' ()
1' 4'^?1")j .u^ !,oar*toect". -+r' La:tcoac )l
a'-"'j6i6p*t ct)
I
\llro^n
t:fit l''l*^ r*r^':'lF ra:Lc'art))
ll auN or I oq lrorr
bt'*ry'*r
-> SniT Cqn6tant Pcbl 6nr;6t-cln 3 3U4 "*de l.J ot:rYn'ble objcd-s . Dcre t'o *tjs oh1ecls a'Eib6i i i l-Y
c1"!5
pot rhe jovo'lang ' Sr'in3 clals i5 as irnrxr rarblt v
---a 16 ohliTe ttr, s Srrir5 cnnorant dil'crD
gs rl-r5 aYe
kioJ o? 1- pools o'e mF aval table ' '
{r ".r*iniq cldsses thj s Canstan
//C*tw'"ro' s ,"
iw,muta-Lle elntntt.
puu\;c -l.sr (t' t)
",bXi1
{
thv ' a ' a"
tlrc'b z t>"
"
Co's w c'cttr J ;
5 o' I L'Tcst
"
?-Qataw
*a1t;n I
mtrffod oL<-,, D't6 'K,.l'h'"ba 3 '
X*,.J .qr.a o'5r'n9 b)
"^'1rl,,i--Li1- .ArqDr^ 1;",
{"
tctu.{n hed 'Ie5J (6' b ) '
" P. u."f5r'';1[l
s
L,
arls)
t
a" ) I
t.rrt et=rle- mt tlo
- '+5''ho..s}'9odec) );
s'o ? ( t oql
"'YoJ
has hcode
t' dl:r(: i
ao'" rc'r'€:h" )l
r(Jr t'=g(
h&s|.coh"'rtl'lokc"detl l'
t"- n i:O, rri
t1 dise tr '
-i i
&sr cl
lerr rr- ' f
't',1F 1 !,11"t +tr.h,ib cod<())i
obi [":ht
s'D't'L" 5r- 3 /'u't"
tr- 'J istL) ' .iU.t'lA
L'A:sr L)l
rn
Y Tetnprctrc o€$'od pesigo parkr n i ' '-J
\J
iastt ------) o.c)i
b(i; \_,/
ri\ J
9FY FasrLine Rea&'r '.- logc ;n ac'v sr"al\;
l'ru'nort) to c\aaog ?eTslsrcnLe
oRv\ sl-s ll;re
6^*--,"t'o"u oPn tf(I]s J
fl'e pe&""ance }ecarse /tere
gale a{p6 -q deXo"de
co''l medrtrro lTic deu"lqw*
r{p PQd6sff,','
infanat\ Se"erare jduc aede
to cc'"net#
:
slo, > DG
_t
d\l(I
litser ni're
t"'lrj rGffiA
3i"-'
EgS
lgeo torn?
| 1on;c
Gnnecti<rna-=D'naYb*g"''6tt(rn*tF*(&bc:odbc:oraAsr"]'#[*'";ggt')"
I-,encsnlsiduconr'hi*s-l-ltlstttohlttrc(idbcd"iuo{s'trTuaJjauactaxrl1al-
irnplerr*r,ts jarn' srur ' G'"rtr"ion
: its
\v' !,oru d cm jduc dviuw omd jclbc tot u.)a us( Ihis is Lu-l. 6l"swa* &'amj
'srtr;ng
lhltt{n imp\errunr1tu-ti
cm'
:
y*.! Exarople 6n 6bA) ic,( r +i,u'..!11 irnCe'nenhCri-i('n).
inrtyR.re Aoc
t
/]lbt,c vojd xyz();
.t
JJ i.Ple''r"t .ia3sr6 .!
?&b\ic -las+at )
t
t ".p I reva');
3
1.
] 71resr1
CidcS De"no
t rzr \
Ats" t'(-Sil"6 '.'o-L )
\'<we pub\i( 6k.-hc
l)4**X p*,
'
if (' ',o,r'.' eyas ('a ))
*n,,n neo"l lrrl t l:
eite if (rurv.1c. eX,,.olr
l*.b"))
.rt.tltIn MLLu -Te:fa t) ;
{ l5r
1 .r€ttt\r'r 4u\l i
3
ll aw,t uAc
s
lJ6,':;a^1
ll oLrv*"+ -1",r"7 y"tt ^
dc+r. h^s
Prcrn Scr.rrt),
le''tl ho';'-'3 *rc ex;srin3 ohir-rl
Pr[!g: C,,rdlloj ner.,J
d.id
;-':;,,:
':=:'
ff"ffi] .,,.- ntnohkt conlzdns u*t;"6-&nr,ra
@sr,utllr/ 6ill
nd Lt
''l€d-f,ton
a'<eoutd 1,,'tn6 oblttt '
i";raa! d"$- |nl /]lu k e^eeu4l -f- "U'eo
J.fa
Vtr'a^l Clflsfrultals
plrn o 6iars ue c*"l'aA na' "
tcitt nof Je
-7 cb';1
:'2 6fu'r' oLJ€rt-s G{c c'd'a k
Ce'tro.l'o6
;hJrra-fi 2""44,
6Ft3 tLol t*
ebun)&I
. pecorre 'i{t', ;t vo n(el '( oLtffi i';uc'Lt;^n ^<L'
oV eoi'u^'UN&'*a a't In)+;^L
O:.)-,
c**d h, ctoc,-^t^'6 (* +rf
?*+o\r'
a..u'i'''.d ^-*^^ '
Fk""
-=7 icort-^6 orrl ;; s ^'tk^, L't' **t,7 ,,{
lr -
i/ Clo'rc.Ule lest' java
c
7
int 0rb i
A-- X;
b=r'
,,
\
Ptblic Dtrmt )
f '
s'o 'r ( nrrrr: o-?avorn 6cn-si't'tt<r ),'
I
BA);c 1hlt+ -gCtonc [) n"^t E,rc(pHoh
f
Ohi* o6j = &pt'chrt O; llp'|.-.-e clonln3 e'a''ftrLf invobu oE1<l.t-
oqj ;
B&tic vdid d+( )
t5 o p (" 4
='+ot b:'+u)
" '
J //aots
\
"pdlic closs Clo,cdbleTes t
{
P5 vm(srtrqtl c.r911i{rnos E<cg*tonl
'd1 n
Sc, p t- hoskcr,dc ; r Jr . h.sht de C)}
d r. drspc) ;
/r*.P.- ,t-n
D*o 4" = ue(&m")a,'
ryCl*a
[]
f .".eL" J= l^o^lc"ae ; ' +dz. [*tGl.c))7
d", Jirpcr;
\ I*" -' F ohkYre> io-oat (lo"eolL;rar -';1* -'-''
I lL"^ hdrk^? > p,le6 > At$s > Dertrt ltorlcrn
{xe ctrFd
dl-ct3
h *"y
PrGbleYb:- cbnsi, .(*tc,a 4 Couelex odie.rs one Ccrnple* cluvs is lot- rcco.r,ienJe I
Pto.€ v! .
skf -{ ' tF"( as neeJ'J ' -76' '
x obictt3 !'ot n''"ltl glt 9-ple obje'+s
'
.g[ub'cn:' C-"r'...* conpk
mubple inLoi&'"J o{t'+sJy
*, !,rra.' J.r,4n fdcrn ' uoliol i'np'orT r tle *'sobitt Q
C-st^,"c.t","tr il"" G"nder eUe'ls '
4las s &ng et
;
ft^bllc inr Pti ce C )
{ .ftt<-\rn
eS;
L
J
cl&(s F"rcr
I
}'Ltic int frx-cc( )
l
vLfirv4 l5-;
13
Clc,js !rt't<.
(
t
Pr,-b
lic ;n* liritec )
i xtttn 30 )
\
3
C lats f-leot&'tldcn
{
Pulli c ir'f arrcPvice t)
\- t
lo6;'
llLu;teu Potlu"
*ntra D;nvt)'frrcQ;
Ku'y,0 'Prce()+ nrrr 6bua,'
*tn ;mcet)
r^*
1
\-''l
s'o ft' 4. ^^L Pi'e is "+vat )'
J
ll C'"'\Nlc,. oLfuk a
e"'otl'[9cld"t ^"*lLad-()'/
sL=ueA e :
J
i^t Val1,=sL.crkP;cet)"
n \-/
r. o.rC' +4,< sno,.l, (h.. iJ +W t )
:
1 t&. Pr-Sfa n
El;.t!'n?o\u^
> fL.r \\'r'
*iw> D"vft"lur&'n
i NAPI3>
ttllL\?rT
7
t "ftsfaflie oW
",x;-;;;: "tr ;*,,,.
s:T h:-Xr 12
rol<nrt" Q I b 11
- Kai*u*sr r{ '&ex :
*::::"':#"
v
a'totl-'
f,&,pret clace ; - n ll as Iflwi le ; tyln
, i'n@twe ' \J
------""-=- o'(#'8- &'4 ingler'1l,^ts
r:::::-t o\,^ cto,. e,n'.f,:: i^l<''.'A<j to lr'roo'det*'w:,-
&' *t
A; r & #\"-*;
ltrc?ae €'u 'ui
+
'J, '*
4" olx &t 6tP -.r+oos '9 J
2'
Jo7 g"t*^
x'|
^gl,A^ intetlac€ ,-
i o*" "'* -1
goiJ L); I V
8,!;.
"purtic vold c'L)"
?._ a)
x1 z-
.,,' ]t" i'nf ir'vrrrJs
a 1
v
tc )
n,*1," {oid '-
I-
=-J
-.Jrrc
t^vr'
vo;d *) ll" ntr( ^uiu'l J
\
t
,1' \
-_lL
q-
I
,v, 'T"rr' ;, ,tf inl.rz<kl to yr"vld' inplz*un\$a 4.n -uLl 'q L',t- i1i.- ]-tt"J h J.B;;,uo
r-' ok;\..u,."*
C
,, t()
Vatd
Y'bllc
\J'
L.
3
z
:!tYY-
98.*,.1 DTo c\c'ss
t &nd it drr"etrq
6tr"n he t)ttLov{
zalte olqiecl ' So, lt)e CAr|
Qesul't 5(} objecl- i s oot 91idi
SoluHoD:-
inskad
Agprta<,L r .: ase qbwtets @ o{ f2esurr$ts
r3 Je&-rr)
o* .Q",ic.\izat\e ohie'x
fart PYas*e
data-Svnto*uu *'rd ed Aaf
Cop5 &r.,4 Pesurr&+
a'i h ol\e'ucm t'.,*-e
DaraSk rtl'e t"
ilt nelcoo{r ' L+n c.tlcrr.lo'r
$"-'-lU D*'" 'i:.ff:f' :
i S',#","" &,5^ s. e qe -lrgt-'.4La to sot'x
$.,,.o 'no"t Q i a' kw"
d,,a
florF
.t===
i^ t14I
-"n
'+L" ^Ior" ynac'"" '
l, ++*l e"e"tr'
l'.,r D&S''"'r*'
ln $e abrc Gar;o rc p*l* ,o,lrn orrl *t1
uDdel3randinj $e yro utem ,.',ld,ca h col,inJ l2rsar r&t &6 f" -4'"t6 Lt f
ALB.
eiu**,+ -/n'',/L,t
U
s'^ - (Lp;'eA clt"\
-10 ','oie 4e
qb'o gY,,oho. Pr<"rle uulz t',tulr;el" obj"n h UVs-'Jk'*J
t e'le''r'1J't< 4 h\L'
'' ^t l"'n It: mul't-p')u
oLjetrt
1",,1 4t A^n- 4 -..u;'\e
wwls ^"4
aA) 1Les"
Ex^.plc Q*9;
V.o clars
J n'''
o tr^s f j^v"B*" )
inr no;
P{ivat'e
Fuok S-"J nam? ,
f-!oJ. Q.* SG{;
/J *'* QtXxx[-) o.J q.rQX*"t- ) ,'tl"tt
't llrc\"ite :
J rr- '
D*r5"P"ttt"
T^d* clasS i-
tuel hLt tl,, tet'ttAtt;1
S',." calcT-6 -t''"'' S"*d'
p'S\e.";- D'xl"pt-X m*ttiPl c ctarats 4
:==: LJ
flr,*rlos" 'l*s
clc'* [J;te,v.L
&*ton*
L
Ilg-t"r''n
o,;rrt L)
'tv'r s"| i"'t-
fuSuc
[ *'t^ atb)
\ *t);
.lo)J ,L'R''ttO*
e
il Y'l
luJlic l|cdo*
]
ll g*^ton t n T^Ptt*t .l".vl l! \HR,L
clotj Scn.r lJ"' rc'l exftn
f.
'.-, [rr,6tic VaiJ
5
"L^P.*u(;.rt*)
\J (.r.ptt r);
3
3 \\tu'L"blrPJ{ '
'Ta.r,lorc cbt's
\- ilfrwt;o"Z h
s Qlr+t L
clotA Fre l'J;rc"-r Lxgnd
\*
t * 2
uo'' 'l'P'*vti*
""
{.
4
JA
$'il'#I:ui.[L",r, +xr'))'
\-' E#*v \o= ua)
E"e&t*tLfn6'
-(* Fu0u+"*\tn'-(
orc'
EA+o"aUan't
\-/ to.r^c,irclS,; ;
\--, ya'.flo.tLt Y,
.
Iu, ctoSa g1
\! 3 il'v
caH^ff*ot' ") t 3
\--'l |It',l..r
J"
u*
v
Ft"fJ;ra- J^'-'*t FeAswtO;
,^-- %.<.r'(to,-)'
-l*,,b^Wl@');
\/ 3l*a'
\- tt ck^u
J'
6qlo q l,:o tt-
7 O ta,f *+e^&*,x',,i"acn,;-
\--,'
W d@w vim{a, .-
&pna,"q fnlt*i on t- r t
*laFnde"rt '\-./
Afsr6n< ValLk s ro \rort{Te thpn ir
ts latJs f,uu* "
d o\y tt ts
\'nfiz'uze tl'e obiY*
g- -. L.r'rl JUn eteu"rs constua'tz:tc cultaYtart;o&3 1a
' .'',,'J4, l€P'.- 'lLt,a,t Aa*S"'lu m;vts '&^lnr' n 1u^ue*n :
;=-=
F@; Mt 9et+t',Cant"tz't d'A furc'l.r'eSnu;'os snXkt
*",t^z G,tkql,trt p".kr,l;s f.a'
-fhe
==-0'0 -
4 'ke @^ +[,"u4L co^'t"tfur ues"x]on c'*'et u *L
>fi*1?"y"';*t '
- it iHa.L u
tn'-{ ,
u obie* 11"iuo.!-;u n ca tl l
tL'nde'r u7^fitd"tP''-' t
&., YW*go .J
. -/
Flg rc.'gh* p.fkrn i-
rtPr?trudoq + emplo,leel dt-t-all s
Prcdcrnt- E dhpus oP €mp)a,1ee CI ads
e'b3 eb+
eba
no: l0 I
'no*{G\
rnmc
@ t@9,,
,'@9 ,air
ryY"^; D).rn yocr 6rea-br rnurr;ple ode*ts 4. o ch's Lttnt drffcttlr Vcheg 6Hll
off- tkne rnrr,lHple oqje*5 . InsFcad o$eu- tlrroL ah:u-S allocarlnl &rnmcn *^ttJ
l^ Aou+^
r)* P.leb leve I D4;1n pnxt n *
flobterD:- Nr}inj Java cod e C sc{ipt ) io f,sp is ku,ro 3 -Brraoi''3 lin'llc'li ao5
a sbl'J t-ia7l :- -fmplerneot viuo helpe't 6lss;9n {t}ka o nkth ;s no'}"A b €@g Jsp p?Dgra'a q.s
Jova ccde less Jsf prD3ram ' 4" rl,is ttx need la u3e *r f,orrot'i n3 JsP qS
grlpt le* dedomll oo , exf, esgian +nE
0 ftP b&i rf -r n s e(ef '
f&d
l-
vierc DslS; fr}rkn
@ Ccmt,sri
p"r"
n"utas 1 Jry
k^w.Ii.r'l''91
Yyv' G"tar I i,p pnq t l'{i c Setlu b6tc
1lo6;c kod?!
of^
ec.L .?a1e I
van Can*t& atbrcle tt &lk'e*
cu-^- l,6,rt il, &r*dile l"to \ hn'V rlu^ i' ery'"n e,al"ws"o'vw
yn ^ovrfu itt
,"d t"^de +{*.ar ou4"*" {-e lk- natn 1,gl""*ou"t P,f-tl
t*f-S )nc
0 h ,a. va,a$!-) p6p : i"clade >
p^ott *"LW1,* +, il;t Wneed use
a.1a-i.f-, ) Lr')
Jd . i"tftrde Ct
forr 1"6 rc
It 1"" co'"roon lo61c g ( f,qa.ter and .fi-t. t'gt"s alt fectla-ble i?i(s )
v'cL'l^'\ a't-h^1
J$: :,:T."n:,
&*tr
#::,'"["Hi^
2afu,$ort ,nuJ U\ mo4^ u't-Yil-an'
&oow ,tt^tron1 -T.rthf [w,]ey/""n')
of
-
U*sr,llw"tl,ar,.
0- $."r zr+'l-rrA - -.- ^ ,j"r.a;E;f
Tes+\rl7'do
bW,ll t"a'l^ur'-
ret&lrl t>'d'.
wuIE:- ftw (-not i, " *-d"1 xJ r.rrc,'t< W( ar\ g"1,ar' | :r, ,t "- ) *h"t *" a
Qo,Et
- Enht a,nl Enir piv,.r t^ rL\ quest d^ot ojrL FO OAeo q*.|*to*tr" j.on^-r d- 1',^
!;Lon
olrt/lahaq ,luL ,,r" )^,sa cL,-xcs
Atx'"Cb"o "
fiLL
co^'*^ (1<'r 9^'t t' J- 9n*w
Fn'"' rh g,o!t( I'K a$xca!'! on. A'u'S'*tu- )' J*'x
=; (b^"*"JC*wn
(c*^ri"n-). 3^8"\ wlnvc Drr*.uoGui.r i' &cxz'*'*ltu {'a
4toeb - opp y
<*wkJ.>
{JervlCf -Dame >F alg.rvlef - 1pm€ }
ls&v t& - cla!,g > Ecm rsrv z /Sc,rutcr _clac s 1
4suvlu >
/Scrv l(i_rrnpplnX 1
4weh't+'t'>
I wanrgu " jov a
impott jotax, ScnvICt- "y.
imta*- jwax , K.ture+. htl7.+i
lrnPn- Ju.tu . io.+ )
yruHtc clu\ 'Fl^Terv €xtc,ds )\7Qe''tle+
S lliv ,M t.
( /r''a" ) )
etci''iP (1n ' nr:Q*wPoAL) ' e#ata
o
a
jlla"a"tq
uo,, )nNosr(WW'utL*r Wt +)+\C'"'te1-fup*tt *t )
Xr*,,"
L
dn6rt (*+l ,'rt') )
t
5
j
Dorc: r6foO 1"o.
(E JntetcePhn3 t'fu:- lrlrrce{rdn3 Ftrcl fbe gFgctc,t tDel Yes.crrce p'4}goot ol .,4af.{.-L'Or*6o, V
llar i9 C-t aaAz + f-{tPt5 rte rclucst { 'r.s1r,"1 fi 6ffis,r ,paf,1.esta1,uce L
:
prab)ero:- keepinq rhe
----- ,.r .,- cooxr6.-,
ccr",m.- and ^ r^Lr,t r)rs-.nar
^^) 6lobr,l trs-rlAtjrr,et- p'pu",gn'tl7t
r>trcv+)n\lqlLc alr'l
r onl Past Ttr/'/r$c
Ttl/vnsc ffJrlethLt')
tr^-^L
W" in n*\ ,r*n vt)crcsa.rce {r"Ato- 4 aboryaca*a Vitrc r!''e ^re-*aLl n 4 'l.e O,
t}
de.
i' f;tr-
y $rykne* rnntal,a,n $u.' Torl rurtu:1 'ak& '*&xb'*s*ulu :\J
m1cLfi, ,---t gnle+ 4,toyr-jro, exj, tt. Cunrron y-r,e-.rw*trp'nd^1 to|+c t1 ,-.
.v *;
*WV\ *y'ut .ginirral6 ,^e!ilr<. Carnynan yosrytrfnse V,oraaan t|tc \ W\
YaWtL + 6Ste'r 6-L *X6,a-'tx- pr.f to^a
. \-/
\-./
f?r) 'ef*s".rS pft.-"t q/LLes'r p'Dcr-t3iht
rod; c
!-,u.,r ?stAnp (tr..8a/.ac o")
r,r lodo-rl ( 'l :) q,re s."rS Pc(+'Fsrhse it;'r'-}}{
,,=\ slv-!
i€1Aa rl
*.,,*",*ftuJ--- S.'m) {odrr.
procrs;"6 Inl c
Svv r
e)
l,np te3tsru e
52 cr"rl
plote r|''e
-z g.tet Brrcr ;6 o6Ar, !u.t- implem<av;n6 inlercephhfi
inl€ycephhfi tr'
Frr'v Deri6n p''t*n $'-""1J/6 '*
n
-*rroc'tnX PtL.efs + lcf.i c in e*t+ptr.n p-7,^.
'o"n'"x
O f'.'rl^n"ur'l-t",) l'tr r,
() -*|,"-.-sn [o6r.
O 1"66r"tr t7i"
* tv",
a tx p1"." r4. jno*inn po"t -"tcsld1r e yz-ohn,U,
- YY *3Sl"J I
O-r"^^%-,"11' 1"6i" o^A .nc-. - --
y::t: Frc,rccorrz.,tte'r -Iiaps rfie ftellelt to
t6 lHs *rrn ord;na,1 jc"vo clc.,sses
{
P{"{blic Voi d inir (Fitaconfil f3 )
f
f/n;r,oti."n.n I7t'
1
l.
proLla'n : - arJ Co"d i"9 .rai., lo6;.c d\d.+hd tn X+*c+r'6Drr" F,l'o-(9"rroF,* )
d
"
Fz,ntC*.'ot r.r 's Ylit
'errr.",'),
I yncr*s . lez s hrrs de -?rr.leri7 4 nutr;(;""Jeo,t
ry*ry
ze rg'e l3"o "P +,.&.r conlrot lc^ p-f'"t- C"6)
--t Abshoct &"trottel Chss i! *t .*fu '16 ccaro.'i,
J",r-tar'.6Frt ' p,V.,o Ur,n e4 sJde "? fltte' f.w'f t''thL '
\'./
ll]) I"*ffor,"., la6a'-l D*;6n Pa** o *)
0
o,n" I
S JEE
a
cl)qrBfd
_@
t
t-
rrrl gq-.
4 Ou mart .ro(lhd h,{ pr a.'P l<rr, $ypttur.an
-- 1. dat'd ;nk ot eN4 cnl)u A" "nPfo luy" no's 2l ,.nA >)- '
r&1,lttr@
fla-t W
y'FXnch-ror,e (ornmun) tc,*|c:n tfta elic^r Av tt/.
Sgnrhrrnor, s c3-rrun; ca'tl <r4 rll cr i"nJ- futlt"r{o-'
\ sr,utr filt coh'o"
a"d <<ntt-'t -A1p\;caJ4orl
.----. J)\ C1)tit 'Sef d'{ (tnr7lt ct \cvt t il cticnr )s ln" ta 6ge"tt< naal NJPlelF ai+lottt G,attrtr
&"nv"u* ctll
n
,fl'u if r( fuUed ls6'ilt"r'nns '
-1., ff,w
-Tb
Adeitt'+
wy,^est reJ,i-4 *s1'ate
allusogehudu !
ffi otall spiy:,a
V gmtL.t
$
t
suve,! !\ (l
-_' :.
Yecsccqe
e sla }(,
f" e
clrcnt&0 lvle ss ar 1t|)$ con? ,/
-ct-fiIl-
"LgAestO @)
r+l @ 'l/
ErBtoniilfrp
44.YYQ mrftv-1
lt0
@)- (t{eeto6e
Poto..le
' \
J1- : ^:'l
'(!f'c* I tatS I ms9
1
t\!
P >(t
( b\\ c'r'03
ls[w
clieft side
A^
+,t -ti trrst )
I
S€.rw,, (idC
A4*1. Yol4oql ,-'vnmw- cctH oq U[r,. 6lterx fq,glicah t, an,l rar*lt,ple Kr,sl,rr 4
1
la*llonu^ts
i
-fie inplemunr) cn 4 n rdrt e net odL ^,s^d klps zh
grssa Fotc'de les:Xn
9* 1o+k'
on '
clir,,+ anl kcinevs &m7ew-r'ts , k r l^o+ Camwni cc'J't tn i'< Sy"lur,"oc's Ca"p'uacolt
--fit.'roll^'
'
D'ro Clc-t< Conlaln 9 1" Ju'o"6lo6rcz
A:nvelt cn
c L06,, n e(ia"tt?311 4^"
on
Connctl4
6 Loft,,t lo ,Jease +1,.e
We ar 9u f5rld<t
Tetft\ttN4'l'
f
llr"nn nnerl,od
P.rDtc sl.*ic DAO ge*D/0 (Sitrng t'a-e
'"1 e
?€j,(^rh n&t I ./
I
i
6b5hc.tlr ct4i5 DA0
I (
PkbI{ C Abst{u!-t vold rrnPeCoinrrcr, crt' ) )
{
void ,aveCw"zutr"C )
PUluc ovile dbsl'o
t-oi rb
f /1to3t. to ertzr'b\ls lr Conrrpr'rrm
?uJjc fnt
(r
ulh-r*fot-D (-,-, -' -)
L qJale v'wX lvt $,2<,rc Faltt'
= llt1l'''to
11
DAo cV-,ts 4a l1y5lt
ciars lltSqrDno exnnds DAo
s
' purr, , vo i d mav e Gnrne dllnL )
r,'rr4 Ytfic?l db 6tiJ
lotri. ru €tta-blis I"
'
t - -- Cav'esi c-
\
lutil. vo{ d rcLeueGnnet{onL )
t-
' -- ko wlea1 e CLo''€ntt:.n,'' pith l{4s?l Jb e tLo
- |oX'lc
I
t
Wlrc iot inq'rl',Po (-l -, -, -)
I
lo'd\c rd )nscn'1- fttud l^to l't{s?l db (tlx
----.-
t
Dt6ltc inr crpl.rcLFo t-, - , -,*)
{ tto'
lal;c It upAa*< *to'< d i''' \1X61t dit e
- -- -
1
tn rl'e
c\oJl 6 41ert tc"scA
cno d O{'B'r DAO
,'
i3 &*1"
o -ru* nalsrnrnft
- \, oe &e
a 1
F€.ct-cttY
DAo F€.ctscrry
>.,rr te
usaj in OS- *cryrrtt-g
. -tLis F 'rq ctort
dara isor
dora +l,ar-is ttlprr.c
is 9t1pl;ci : .
^ n ..-a-,-
^ynk_. lutlsXt""U
| ,icc ctr'x obicn _na
^
Tnjarr h ser *l"et
DA-o c't"c
apu;u4c,.".^ t6 *-iY
ttl', l-" '-'-
f3*,n.,. Pell6ate
-.-_-_--:-' "* aa$0"!s ol bdrners Ccm?ctnenK
qJ-r,i tode
--,f,rr o,na an61e ii calte Sru.rs Actt<vrc\ a}{ a! 8a(rirz?s Dl r0"r< wlen ;ru l"ttT 1"5t. cdilta
t"r) 9y'^X c'$L c"'A$a '
d,e knn"* nul*,As 4 lldet Loacx lzTE avnTcnli*'ts
fn$rol C );
PrDbl€nr:- TO C&ll Ersr.,ecS metads o? fcrs-inat5 Gm fnFarrs Betr,"6t"g fo 9,rutx +le cbt*
AppliccrrlcrrvJ Ynusl
fla$e4
E sg,rers &,nror.cr,r 'ftk-ftl.L?s 4.,r'.r *tr.q.I,o trsl
^g JNDe GJe
vgfurene d P**
3 logig t0 gdrl'e{ BuJiner5 Gff4'rrotr.r
h1
Solultmi- De$eloP H€lEr cto{s l.arin "t"
oP *.,vt'r ond to keep thcr atae ln $!S- t4ore ddiueriyq \r
. cWryr"t A1plicafims"
-[rls iel6,r u
clc!19 is &ued S..r, i ce Lo ce]er ' ct&44 .
ntm't)l EusitessDalilcltr.
;aoTl?ontni
b?'ltL')
----
6
(18'l
t!-Dlor();
I (ts6 )
Jq rbe a|lolt diagrar"t Ar ro Aro io|i cttt-t-s Ctieni Applttation I foro 4 erel..uor, !D k".e
&nyent-,at re(*arc ;, qdlc^.e" -!,". grefr.,i L^l ol S.a;te l*<rtta, Caft il'l
"rl"
Bctsstne* terlodf,'
lvlINI koietl- b9 ustng €truf 5, EJB c,o d JDBC technol o6,r, )ou'ng rhe i -plrrot'.'t."6,'.'
rnLr\dple Des;6nPa$crng ;-
..". €
6
5 r,
. ct,
E
+
qq I
C
4
F:
12€
sc E
fts
(5q -a
5T
.t 2e
-2
-e
3 _s
,. le
&J 'r. lo rh€ dlagv am
t slo l lrot >
l,3r;:,,,^tr:;':**:::.J^*"-i^'ouy:';::-'ratLiLr{'{ExBb*tv"^r
,r"fe'*nrc in B'l&'r U'l U*e A-" J"
a no,, i+airtbe 0*h"^
is rur atw rasLe in Buf(u f ) &^lPe" 4
tt gnre EJQ 6a7np6'^ea* 12Pe1z ntc
tle o't^" '- '
- r'c;J-
sl,') o? Avpl;to.t;crnsuw't anl
o'rrse n;st<"J
ryt<\
\, grvite Lxoi-<n
-- +D Buv;vrevtDlu{
'}*
c^r& zt'fu*ntc
-' O Se,viteLoulat wssLs #e
EIB
*A d a /"t&*;'e< ^e'!'"J4
csr"ron** *Pa't'^Le
Lx'r r{or oA ue
EJR
- O Ews',tssDel;pt<- cLd'ts t cta*' fi<en)
.- EJR Carn('u'L,'f '
g{,oqoq"(@ {1.i' ::'"'
Tu'1qiil('!4 -n},od
L}:':-- #:':;:
Bu*:,,..xD&3,!
4',11't- a'l flul"
yn Pom&u" t Nno't Li't u"
gaL #,!e.,r , Ut '{8utr ')
Elg u'^t4ett
- (ts Bu:tintst *oLo) "? '* 'u fo e)'eutco h-n^9*t''
^r*u , -.,h. *Le-t-qJ'-lt+o
+!",zrecuLr
(Q &'ssi"cwDu6't'
@ *""'Lo-t^
F$"itp1"--rrn1 9* r"loe't-- ' r
@ ftu'a A'e )
+1elru{ DaaT?aJ+r"n
'-*"V,*,
@
4- t0'o oL"'.- P'qic$
"-
tut.; F D';x"Poric'"""
n\
\t
.o
\*' m;n! Prqject Q banla't
pro,"Oo* f0 cteploqee ord €xe(lde clesign praiect bc'se '1
ala.stS
* 'jartlr)
e{
v?
s
oc
^F
E.
t
cJg €
! b!t c,
i\.J
I
JJ .9
€
a &. o !l
I
; Ectr c
:^ !_ tr
E ! a .g_, .:.,
'5
d
J.
e3 v cts-
-1
.c I d E -o
-a 1
t F $ !,t
t,
o
E \x v.J
5 .?
I
I
f d ?K
!
<.
.4 -ro
v
s F
6 6-J \'
C
.?-c F
€
It.J
u-
2 iig
6
..!
ct d
!l ! s-r
3
FqS i1 '
.Y -,o o
.E
c- .4 --)
tJ-
FE9 s{
$r
'rd
-'-e- tscc
il?
Esy d
\!l
ttt 4:
lc
3
\ll
\tl l\
\
3v. 6 e-ll I lc
€3 E\L' -I
?g
&
+
g
6t
c- (l
fj r.t
-.- \
! ,: s^ \
tE
"fl.
{r1 -') ( e&
9'a -s\
\
d
',.rr- i L4
rt
+! -Jt
tl
€
.i 2\ 3
r-{
I
Yq
o-g
e .?
lo
:- .Dl
iii
1
(n
ei
cl+5
el
dl
ol rE
.
.)
,tt!
_!
c
c,
i
P
\,J
I
(o
3
3\
.:l
I
<ic
I
.J
\o
9./
-!
s$
.J o/
l-q
o-
A
I :-I
ci
qr
a-i
:1
vt €
.q e- aJ !l
F€fir€ Ja. 6'reS r.{teSc^f't$ EJB 6en06nerLt :-
.
€ar Pi1n = jar ftre +jt^r Bta + - .
FnT€st
t*l*t ra*p\ica-rlc'rn'xrnl
51or6fr1P 'toarl
GinP..-'j4'1
4"16n - X \
ffiF\
t W*' wl
60?ti
.
:^
-: *' \tu'' br"viY'i:
an'Lcth;rn -l-3 dn'
ilvN "
lrlitrr* (^
ar' >
l31nu cad
/dispttJ'J - narc > ee,Te:t ld-n2 ,, LlesrrdlAh.
'zclercmpd
a' u
Srru,ts Ffl fFicu
7
Zmod"tE
Corvrl!" i*r / ejb>
, 14b>
>
4lrno0"Ie
1
_ -2 app2 hrip: h0.sileh lsrux p+t---r O
/ilo<41
tDii M:j:!.]*:::
- 117
l2o
L2L
R rr<iha-ch6r---.^
B usinessDelegate Lr
bd=new E
!q'rrr'e g,method");
r''meEnoo ');
);k rjff #d,-rft
Hilffi'S
#tr4":#H,*,ft?ffiffi;;;
(
Page 4 of 4
a--' (2)
2 ApPl
.4 ---------------------MyCompRemote--------------------------- &{sr;n<r4 l^rcht"'l E8;t'-1"'t t -
5 package comp; "r (ftod.l la'<-;-
6 import java-util.ArrayList;
7 import javax -eib.Relnote;
t^tatrar"
3 *",,,.1;l;;'?I
das PernorBr''ervrl
10 "t=llno-'""".
public interface MycompRemote {
public ArrayList search(String job[]);
11
i3
14
i---:";;;";;-.-l-li#rs :1 ?tv*v).c^auu*\'
package comp;
^
15 importjava.util.ArrayList;
16 importjavax.ejb.Stateless;
17 import p l.ErnpBean; . . r:liho.
l3 :"#J"*o:'t; ..r slsr(s,or'tcx srrst"' &a'n)
20
2L
"r,.r",""
public class Mycollq.Bean implements MyCompRemote
s,rsi*" ^(h"d
{
/-lo=]-*
22 public Arraylistqtlgb (strinsl] jobs) {
23 system.out.priEEn(;MycompBean:serach(-) method")i
24
2s | / write b.losic tD Ptaore 6s.!lrro nv'hd +4 g|t Yn
26 StringBuffer sb=new StringBuffero; -J
27 sb.append("(")i. 3rttJ
28 for( int i =oii<jobs.length;i+ + )
29{
30 if( i == jobs.length-1)
31 sb.append( " "'+jobs [i] + ""'),
32 else
33 sb.a ppend( " "'+jobs[i] + "',");
34)
35 sb-a ppend( " )" )ii
sb-append(")") lt,,-e- ('curr"'
- ,,.., . -,...t-) -t, +j' s,,t q/rana {tre t/ 'crfn *', ' fJA f.'
tu)ER
f*urcnf
); r+ 3i"'s rdndlton Y."9a'-f,'{a &'+l T'4A
)
36 string cond=sb.tostri n9 (
37
3a / / use the persistance logic of DAO clas q3
", "r'55 66;1
t.r",
E*oq3 L4O\:?i
ruyoi<5 JJo=.t.w MyDAog;
-- cond ); --.,--
Arrayl.ist a I = dao.findEmp !oyees(
r"W llh. no's 5t hD
4l return al:
42
43
>rr'""*fq* ns +a &'s;,1,aT>t;Pte cloxs '
44 / / class
--------------M yoao-.Jses-----
>
45
46 package comp;
Uildle4"l )
47 import java.sql.*;
48 import java.util. *;
49 import p'..EmpBean;
5()
51 public class MYDAO {
52
53
54 p u blic ArrayList fi ndEm ployees(Stri n9 cond )
*-\s 55 { i;|-A t*ir'1 Pc&lstanle- l..6; c
6-A 56
K-/ 57 system.o ut. println( "find Employees(- );MyDAO" );
58
59 connection con= null;
60 Statement st= null;
61 Resultset rs= nulli
62 ArrayList al=new ArrayList( )i
63
64 try
65
66
t
class.f orName( "oracle.jdbc.driver.oracleDriver")i
67 con= DriverManager.getconnection( "id bc:oracle:thin: @localhost:1,521:satva'r,"scottrr,rrti
6a st=con.createstatement( );
6s rs=st,executeQuery("select empno,ename,iob,sal frqm ernp wherc job in "
Paqe 1 of 2
sete!+ .'[fi?]rii'r1,
"n"', p,o zyn, i"qe jos in (Lueev','rvwrooe') ana<" \ job
+ cond+" order b:. job");
while( rs-next( ) )
{ 61(Arrajustfbj )
System,out.println("In while")t
EmpBean eb=new EmpBean( );
ID} TAli .LEPP
eb.seaEmpno(rs.getlnt( 1));
eb.setEname( rs.getstring(2) );
eb.seudb(rs.9etstrin9(3));
eb.setsal ( rs.getFloat(4) );
al.add(eb);
> / / while
rs.close( );
st.close( );
con.close( );
>/ ltrv
catch(Exception ee)
{
System,out.printl n(ee.tostring( ))i
)
fa d 4 frS Cor/'l'ctn"r fkt'n cla'u
return al: rt rtfs\ns the vr..cb rnolo
)77?l-"a-Effitoyees
> / / class
package p1;
import java.io. *;
1 public class EmpBean implements Serializable
*-q"",l'd,J..^j
1
L private int empno;
1 private String enarnei
1 private Strinq job;
1 private float sal;
1
1 public int getEmpno( ) {
1 retiJ rat empno;
1 )
1
1 public void setEmpno(int emp o) {
1 this.empno = empno;
1 )
1
1 public String getEname( ) t
1 return ename;
1 )
1
1 public void setEname(String ename) {
1 this.ename = ename;
1 )
1
1 public string getJob( ) {
1 return jobi
L l
1
1 public vaid setJob(string job) {
1 this.job = job;
1 )
public float getsal( ) {
return sa li
)
public void setsal(float sal) {
this.sal = sal;
?", d.e o!r*" 6'\feuk CDr.p, MdCAr^pVn " t< O6 rt J\th ^ame,