You are on page 1of 6
Capituto 7 Diagramas de Pacotes As les epretentam a forma bia de eruuragio de um den oven objeto. Embors elas scam maravihosamente cs, vce preci de algo mat para et {ra sistemas grande, os quis podem tr conten de ase, ‘Un pacote€ uma const de agrupameato que permite a vet pega qualquer constagid a UML agrupar acu elementos em unidads de el mae te Se rar comum €0agropamento de cases ¢€ dea mania que oekou decrevendo at, ra lembre sede que ved tambm pode war pacoes pars dos o outros clementor UME. Em um melo da UML, cada classe € membo de wm dnico pacote. Os pcos também podem ser membrosde autos paste de modo que voc bem ima ett hierequea a qual os pacoes dene superior to divididos cm subpacote que pos scm seus prdpriossubpacots casi por dia, aque ahiraqui hg al tex Ur pacts pode conte subpecoes «lames. Em ermos de programas, or pacotscocipondemn contugbe de grapes: te camo pacoer em Java) eexpagr de nomes (em Cx+ © NET). ‘Cada pacoe representa um expag de omer, o gue significa que toda clase dee ‘er um nome ecavo dentro do pate aque pcence, Secu qtr cit uma dane chamads Dat shower uma cate Date no pacar Str, pos tet minh cae Date desde que coloque em um pacote seprado, Pata trnar dato gual & gual, pose ssarum nome totalmente qualificado io gum nome que mostra x extra de pc tesa qual petence Par indir nomses de pacote na UML, voce wa dois pons de los portant ar datas poderiam sr Syn roots 9 Vactinfonor: itt ost, Nos dngeamas os pacotes io mostados por una pasts com gui, como se vss gare 71. Voet pode mostrar simplemente a nome do pacote ou mortar mbt ¢ conte Em qualquer pont, voce pode use sores totalmente quliados ou spr ‘nomes norma Exbir a conteido conn ones de cle permite vo morta todo Aealhes de uma dae, pend sprsenta até mesmo um diagrams de aes dente so pot, Lista simplemente os nomes far sentido quando tado que vce que az indica quae cates exo cm quis pace, anit comm ver win else rotulada com alo como Dat (e304) em vera forma oalmente quid, Esse silo Cun conven qe fo muito ula pla Rational Rose le no fr pate do padi. UML peamice que as clases de um pacotesjam pablias ou prada. Ut clase pblcs fx parte da imerfice do pacotee pode set Usada por clases de out ‘cores uma clan prada es acl, Difeentes ambiente ce programagio tm tepe ‘oar ore vibiidade entre sas conser de enpaorament; vk des sue Cantrano 7: Dinca oe Pacorts 97 i FIOURA 7.1 Maris ¢o nosy passe er car convengio de seu ambiente de programas, mimo que iso dgnifique vila 3 eas UML. ‘Ua seni sl, aqu,€redir aimerfaee do pacote, exportand apenas un pequeno sbconjunto das opeages svocindae i castes publica do pacote. Voce pode Feuer so forecendo visblidade priads a todas ar cases, pata que els posi ser ‘ne apenas por outa hss do mex pace, eadiionando cane pba extas purse comporuamento pic, Encl rte dats extras chamadas Fader (Gangue {ios Quatro delegam operas pier suas companbeias masa do pacoe ‘Camo voc ticle que cass vl ctlocarem quis pacts? Na verdad, esa ¢ ume questo bastante complicaa, qu pecs de wa oa abiiadecom poets pra ‘errespondia, Doi principio Gis o Pincpio do Fechamento Comm eo Pict po de Reuslizacko Camu (Mrtin]- © Principio do Fechamento Comm diz que 2, Etscer deur pote devem prestar dealers por motivo emelhanes. © Pietpio tk Reutlzago Conum diz que todas came de urn pacore dever ser retlizadas juntas Muon dos tivos prs oagrapamentodeclssesem paotes eto relacionados rdependéncas entre or pastes, que €0 que Yeremos 2 Ru —— PACOTES E DEPENDENCIAS Un dagrama de pacotes mosra pote sss dependeachs. Bu apresente x nogio de Ukpendénesa na pagina 4, Se oct tem pacotes de presenta ede dominio, nto tem line dependénch do pacoe de spect pars 0 pacote de dominio, caso qualquer ‘hse no pote de aprsenacio ea uma dependecia de qualquer classe cote de dominio, Dese modo, as dependéncias ent ox pacotes euem a dependéncias entre ‘es conten ‘A.UML tam ita vatiedaes de dependénca, cada uma com uma semiotic un stersipo em parcel Acho mas eomesar com «dependence sereotpad ‘sara dcpendéncins ms paral somentcsefr meses, o quien scetee Em um sistema medio au grande epresetar um diagrama de pactes pode so ‘ma ds coins mais valosas que oct pode zr para contr acsutuad agus do sistema. De prefeénca, eve diagrams deve se gerd a pri da pre bse de <éigo, pra que Wood pou veo us realmente po stems ‘Uma bo esta de pacotes tem um lao ear das dopendéncis, um conceio Ai de defini mas Feqlememente ais cl de econhece A Fguta 7.2 moss in ‘exemple de digrama de pcots pra usa apliaso comercl oul é bem cratrada rem ut Mano cao. Freqdentmente, vot pxe identifica um fut caro porque todas s depend ins segue uranic dire. Emlbora ese se um bor indcador de um sistema Dem ‘truco, os pacotes de mapeamente de dador da Figure 7-2 mostom ena egos ‘sa regia ger Os pacotes de mapeamenta de dados tsa como ur cao de Solamenco ene as paces de dominio ede bance de dados, un exemiplo do pan Mapper [Fewer Pde EAR) ‘Muito autores dzem que ao deci exist cos nas dependéncis (a Pencpio «4a Dependéacia Aiea [Mari]. Nao tao iso como uma regi absolute mar athe quo ios devem sr Inaizads ecm patel, que woct no deve ter ies que spresenacte soresentgso ‘sumuai iy 4 : coo : =>) vancodessdor c= === === =~ es pa ua aleaaa Coma — a Crrtruio 7 Dizsranas oe Pycores_ 99 (Quanto mas dependéncas entra cm um pasote, mas estivel a inerfice do pa ‘cote precisa se, pos qualquer aleragio em au interlace sec propageda para todos pacotes que «20 dependentes dela (o Prncpin das Dependncis Esives (Martin Assim, na Figure 7.2, 0 pacote do dominio dos bens prea de una iterdace maine do que o corde mapeameno de dod aendanent, Freiencment,toré nr que os pacoes mas excised ter uma proporo tas ala de nedaces dasessbsts (o Principio das Abseayex Lees (Marin Os relacionamentos de dependéncia no so transiivos (pina 48). Pas ver por «eis importante pars dependéncias, jx novamentes Figura 7. Suma classe no ‘cote do dominio de bens muda, avez tenhamos que alert a cates dentro do pac ‘edo dominio de arrendamento. Mas esaaeraio nose propaga nssesariamente pr sapresenagio de artendamente. (Els 8 se propaga sea dominio deanendamene mada sun incerace) Alguns pacotessio usados em tatos lignes, que sera uma confusio desenhar ‘todas alin de dependénca para les Nese vn, una convene war ama pal chav, como ebay no pact. (Os paotes da UML também definem construges pata pst «imporagio ¢ _mesclagem de cases de um pacote pra outro, usando dependéncas com pasar ch separa denotar isso, Entetant, a repos par ee tpo de coisa ata enuito cm a lnguagens de programa. Em geal eonsideto a nogta de dependéncis bem mai i apr, ASPECTOS DOS PACOTES. Se voct pensar a eespeito da Figura 72, percent que o dings tem dois ipos de cstruuras, Uma des ¢ a estrutura de camadas na apicagioapresentasio dominio, :mapeamenro de dados ebanco de dados outa ¢ una esrututa de stan de sents sreedamentoe bene. Vet pode tora, iso mais parents, separa ot dois aspects, como aa Figura 73. Com es dagrama, voot pode ver caraments cade aspect. Encanto, en dis specs niosio pacotesverdaeios, pois voeé nto pode atibuir clases a um tnico coe, (Voct teria qu esclhec uma de eda pect) Ese pooblema epehao proble- ma ds espagos de nomeshirsnuion as inguagene de programas. Embors agtt= mas como o da Figuta 7.3 nfo ajam UML pao iememente les so mato eis ra cxpliagso da esroura de ume splicagio complexe ‘COMO IMPLEMENTAR PACOTES Freqlentemente, vee ver um cata cm ue um pacoe define un interface que pote ser implementada por visio oueos paces, como mostra a Figura 74, Nese eas, © ‘elacionamento de ealzago indie ue o gen do banc de dados define ume inter. face e que as outs clases de gotxy fornecen wana implementa. Na pda id significa queopacote de get de banco de dado cout inerfaees clases abst "as que so tomenteimplemencada pelo outros pote E muito comum que uma incface ua implementa etjam em pacotes patados. Na verdade, um pacote de clint eqientemente coat ans interfice par L 1 1 semtenaeto | -— >} sara com srandaneno J dominio = pS raw Li Lt Li ‘um outro paoteimplementar: mesma noo de interface obriguria que ct en 7 gina 70. Imagine que qucirams fornce alguns ontoles de interice cen out (U) par liga dsigar coisas, Queemes que ico funcione com mates coe dee omo aquecedors laze. O controled intrice como wnulio prsoamn ec més no aque, mas no quetemes qu o conta teham tna depend do aqueedor Podemos eva esa dependéntia definndo, no pacoe de convened | Comio 7: Dirceauns oe Pacors 101 interice que sj, endo, implementada por qualquer case que gusta taal om ‘Ses contoes,como sev na Figura 7-5 Ese ¢ um exemplo do padran Separated ner: {hee [Fowler Pde EAAI pore |---| _gntonign ¢ torneo ‘QUANDO USAR DIAGRAMAS DE PACOTES ‘Consieto os diagrams de pacots extemamente els em sistemas de grande pore, por alvcr uma vi das dopendéncis ene on prncpas dementos de um seme, ses dlagramascorespondem bem is estutuas usual de programagio. A represent ‘50 de agra de pacoe edependéncia judas mantra dependncat dea plies sb conte ‘Or diagramas de pacots representa um mesanimo de arupamento em smipo de compile, Pa moatar como ox objets Ho compottasem tempo de excuse tum digraa de extra compos (pina 132), (ONDE ENCONTRAR MAIS INFORMAGOES. ‘A melhor disuso que conheso sobre pacotes¢ como uti tos é (Marti). Hi algae tempo, Rabere Martin tem uma obsestaguave patoligica com dependence rere ‘muito ber bre comme prs acengioaels pus que ocd posts control hse ini he

You might also like