I׿ÿ ×ieria oprogramowa×ia o ni o mpl io i u u do i iżÿ j i po b możÿn Li ti×g 1. o żÿ ożÿ ni b d o popul n o o mpl p p d u i d ni m
mo o pod o m un u o o ni o o d i d i niu.
Wzorze TempIate i lu n n p no i d żÿ o o m ni żÿ i domi o mpl blon n o ni żÿ o m mpl M hod M o d blono . żÿ m o i d m m p po b o żÿ j lo i i o żÿ j j m o nżÿ l żÿ b o żÿ d niujżÿ żÿ m od po o d ni mni j j dn il h m od m ho i m do impl m n ji l h po hodn h. żÿ iżÿ po b b d o p n dl d n o Id pol n m żÿ p n żÿżÿ i l o m od ju ji. po jżÿ iżÿ dl o i h impl m n jżÿ o obl m p d iono n un u . żÿm p ni żÿżÿ d i żÿ j dno p ln mi j o żÿ pi m p o m do ob u i żÿn h od j pli o żÿd i n m u pod n u ln h mo . l żÿnożÿ i od bo u użÿ o ni do żÿ d ji odu. o o żÿżÿ i odu mo żÿ mi żÿ o od ju ob u i n o pli u u u h mi n j j d żÿnżÿ impl m n jżÿ do on o ni n il u ji impl m n o n h l h pomo żÿ l po hodn h. i . l o jżÿ lo i o n o o o om ion i do n j p l żÿ . Lo i i lu iżÿżÿ h po u jżÿ h m żÿ o j l i odpo i d i ln j po jżÿ iżÿ p oj o h n . i ni bżÿd i on nnożÿ i iżÿ n ob u żÿ pli i j o m żÿ o u u. o u żÿ u j i ni m ni i d. l o dni ni . p bujżÿ odpo i d i żÿ n p ni o ujżÿ m od o o mpl n d l bżÿd i do ożÿ p d . o m od . n j żÿ li u uni m j o pod o l m n & d i obl m j dn m żÿ i h i d i ni . b n po b on żÿ m n o n h m od l . l Brak dziedzi ze×ia pod on ni m od o n l żÿ obiżÿ d un jon lnożÿżÿ o o nżÿ mu i on żÿ ojżÿ nżÿ m odżÿ p o mpl h m u żÿ l dl m od ojżÿ h po o ni ni m jżÿ h obżÿ żÿ dn o iżÿ . n lo i ni mu i on żÿ u np. miżÿd l żÿ do jżÿ żÿ p nżÿ lo i żÿ bi i . o m lni n o żÿ j mi hnolo ii u żÿ lo i żÿ o ujżÿ mi n d l j żÿm ni Li ti×g 2.
m żÿ p n p ln l m n j dn m mi j u
do jżÿ l o impl m n ji p n h l m n d im m żÿ p do żÿ u jżÿ. żÿ m m p nżÿ lo i żÿ do jżÿ żÿ j żÿżÿ o żÿlonżÿ un jon lnożÿżÿ bi n o żÿ. i m ni żÿ żÿ il od j ji h n j
u o p uj n no i u p oj n p o mi
mi u oB n . . o mo ni m obi o m
i j o o o ni m ożÿon h p oj h in o m
n h jmuj iżÿ odo o od h l . in o ni
odo u o do żÿ m bo h i hno
lo ii u i jżÿ h o ni i h m . on u o m
l l l oz zerze×ie wzor a TempIate CLogikaPlikNowa + utworzPlik(String, IUchwyt) : CPlik + obsluzWyjatek(Uchwyt) : void + zamknijPlik(String) : void <> <> <> CAkcja 1 CAkcja 2 CAkcja 3 - rejestrujPlikDoc() : void - zapiszBladPlikXsl() : void - zapiszBladPlikDoc() : void - rejestrujPlikXsl() : void u×ek 1. żÿ i on ni m n u n o odu o nżÿ u od . żÿpni do oln m mi j u do oln j m od i m od inn j l n ijm j niżÿ i m odu b m n j lo i i o uj m m odżÿ d nio nżÿ in j h ni mu d i d i ni ni j możÿli . ob o l h i . iżÿ i m in j żÿ mu im p żÿ do m i mu i lib żÿm n pi żÿ od n j od j j d n p m np. . poniżÿ m od i j p i żÿ h li in h p d iono po b o ni m od jużÿ l i lo i i! i żÿ ni h m i j dund n ji odu. d l o n h n m in j i . m o iżÿ żÿ n p obl m i umożÿli iżÿ i niżÿ d n lo i i jużÿ żÿ mu i o żÿ odpo i odu do lo i i p po ln j i dniżÿ m odżÿ d l o n o ni j in j u. o b o in j i mu i o żÿ u o on impl ozwiżÿza×ie m n o n i p n do odpo i dni j m od lo i wprowadzam i×terfej p jżÿ n j lo i i o . oniżÿ j p d l żÿ n m iżÿ n m b lo i j d ni d nio d iono m n o ni i impl m n ji in j u nżÿ m odżÿ lub m n m od n omi j j on n im l i . pl m n j do n b b m jżÿ. o m lni id żÿ do impl m n ji m od in j u o jżÿ o mpl li uj m o pomo o n o m od ji żÿ m h ni mu d i d i ni . i pomiżÿd lo i żÿ do impl m n ji m od . j mi jżÿ o ujżÿ mi ni m mo o d i d i n lo i n u j m mi j p p d u l . niu dl o o mpl ni i l n m m iżÿ i i mu o iżÿ niu p d ion mu n un u p p d u pomożÿ . Możÿ m j dn o żÿ inn o u liżÿm podobn do o o ni o mpl dob od i j p o mo ni obi o o in j . obiliżÿm o mi j u m pomiżÿd l mi ni m m p p d u o inżÿ n m użÿ i o mpl hi hii d i d i ni ho ujżÿ p m ożÿżÿ lo i i . o j możÿn pomo żÿ in j u o iżÿ żÿ n p o ni i on ni o po iżÿ ni h j mi ni j o jżÿ mi bl m. o m n żÿpujżÿ in j d niujżÿ d i m o ni jżÿ użÿ lnżÿ i p nożÿnżÿ. o j h żÿ o żÿ CLogikaPlikNowa + utworzPlik(String, IUchwyt) : CPlik + obsluzWyjatek(Uchwyt) : void + zamknijPlik(String) : void <> <> <> <> CAkcja 1 CAkcja 2 CAkcja 3 + rejestrujPlik(CEnumPlikTyp) : CPlik + rejestrujPlik(CEnumPlikTyp) : CPlik + zapiszBlad() : void + zapiszBlad() : void - rejestrujPlikDoc() : void - zapiszBladPlikXsl() : void - zapiszBladPlikDoc() : void - rejestrujPlikXsl() : void <> <> CBazowyPlik + rejestrujPlik(CEnumPlikTyp) : CPlik + zapiszBlad() : void u×ek 2. żÿ żÿ l l l
I׿ÿ ×ieria oprogramowa×ia Li ti×g . Li ti×g . _
j j m od mu żÿ j o j d n p m do żÿ impl m n jżÿ in j u .
ozwiżÿza×ie ab trak j×a kIa a bazowa l n n m o iżÿ ni m d jżÿ m p m dod o żÿpn lub o n impl m n j możÿ o żÿ do o możÿli ożÿ i j żÿpi ni in j u b jnżÿ l żÿ b o n p mżÿ l żÿ. o pod jżÿ i j l p od pod jżÿ i żÿ. p p jżÿ i un ji li o n h p in j możÿ in j o o o l żÿ d j ono m lub iżÿ możÿ on d nio żÿ j żÿżÿ żÿżÿżÿ dom żÿln j un jon lnożÿ i. d li ożÿ i l do i lu o o up nożÿ i n m
i j l o p d ion n Li in u . lżÿ j in j . id żÿ l i poj i iżÿ n n jużÿ in j u m o d i d l o n j o b Na ko×ie refaktori×g jn . n o żÿ pod do ni impl m n ji o no iżÿ iżÿ n d p ni i ni m n o in j u lub j l bżÿd i m mu i li o żÿliżÿ ho ni h m od o p p d u bo u d u i o o iżÿ ni n j b jn j iżÿ ni j iżÿ n i id n n j o iżÿ ni p użÿ l do lo i i jżÿ o ujżÿ j. un i m j o żÿ ni o iu in j u. o l dod no j dn j d i m od m o in j u/ l ni d i ind i j po n żÿ lo i żÿ i l mi jżÿ o ujżÿ mi. iżÿ i i mu o iżÿ niu n nżÿ n j lo i i in j / l ni żÿ ido n ni p ni jżÿ iżÿ m m m do ni po bn o b nu o d i . on d o on n j n ni i o l m n u ni mu i M od żÿ impl m n o n l i b o j o o n 00 odpo i d żÿ on n ji p jżÿ j dl po o h publi żÿ ni bżÿd i po b i h dod o j impl m n n h in j i l n o p oj u. ji j h o jżÿ h n j lo i i. iżÿ i o o lu o p p d u m od Pod umowa×ie o n żÿ i oni nożÿ i o h mo o mpl j b d o żÿ o o n żÿ j h n pi żÿ żÿ m odżÿ po oj mu hożÿ p o mo niu obi o m. żÿ o żÿ i lu p o j dom żÿln impl m n j j up nożÿ i jżÿ . ombin j lu o h Li ti×g 6. p p d u m od uni możÿli i mi nżÿ j j impl _ m n ji j h. Li in u p d iono po b p do j impl m n ji po ln h m od b jn j l b o j. i m l dl o iżÿ ni p obl mu p użÿ iu b jn j l b o j p d ion o n un u . o iżÿ ni p obl mu p d ion o n po żÿ u u u p użÿ iu b jn j l b o j umożÿli i o n m do d ni do j n j pomo ni j l no h m od h
Li ti×g 4.
_
żÿ żÿ
l l l oz zerze×ie wzor a TempIate CLogikaPlikNowa + utworzPlik(String, IUchwyt) : CPlik + obsluzWyjatek(Uchwyt) : void + zamknijPlik(String) : void <> <> <> <> CAkcja 1 CAkcja 2 CAkcja 3 + rejestrujPlik(CEnumPlikTyp) : CPlik + rejestrujPlik(CEnumPlikTyp) : CPlik + zapiszBlad() : void + zapiszBlad() : void - rejestrujPlikDoc() : void - zapiszBladPlikXsl() : void - zapiszBladPlikDoc() : void - rejestrujPlikXsl() : void <> <> CBazowyPlik + blad() : void + rejestrujPlik(CEnumPlikTyp) : CPlik # wyrejestrujPlik(string) : void - zapiszInfo() : void u×ek . żÿ żÿ j n i p o mi d niujżÿ hi hiżÿ d i d i ni i l pom . M żÿlżÿ żÿ o iżÿ ni p n o ni miżÿd obi mi i p ujżÿ ob u żÿ p n j un n i om ion ul j. p o d ni pomo ni jon lnożÿ i do l po hodn h n ni i żÿ o o in j u lub b jn j l b o j żÿmi o możÿ o o . obl m n iżÿ i d b n b do żÿ żÿ do iżÿżÿ om i jżÿ h o m on żÿ ożÿ o n liżÿm ul niżÿ i m o pl i po o żÿ j j o b d o p d n j o o du . n udio ni li u o m o u ni . żÿ