Forbind komponenter Oversigt principper og teknikker Kapitel 14
Forbind komponenter Oversigt, principper og teknikker Kapitel 14 14. 1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Aktiviteter og resultat Modelkomponent Funktionskomponent Forbind komponenter Resultat: Et revideret klassediagram for systemets komponenter 14. 2 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Arkitektur og afhængighed 14. 3 En arkitektur omfatter afhængigheder mellem komponenter Implementeringen af disse afhængigheder skal designes De designes som forbindelser mellem klasser Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Forbind klasser (1) Definering af klasser – Ved specialisering – Ved aggregering «komponent» Bib C A «komponent» Model D c: C B 14. 4 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Forbind klasser (2) «komponent» Funktioner Udveksling af meddelelser A «komponent» Model B 14. 5 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Mønster: Observatør Problem: Subjekt Observatør observatører 1 0. . * Et antal afhængige objekter skal underrettes, når et objekt ændrer tilstand. Eksempel: Abonnentliste. Løsning: Opdeling i fire klasser efter ansvar. Opdatér Tilføj Fjern Giv. Besked for all o in observatører: o. Opdatér subjekt Konkret. Sub 1 Tilstand Hent. Tilstand 1 Konkret. Observeret. Tilstand : = subjekt. Hent. Tilstand Opdatér return Tilstand 14. 6 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Kobling Ideal: lav kobling To klasser/komponenter har høj kobling, hvis ændring i den ene kræver ændring i den anden Faldende koblingsgrad: – – 14. 7 Kobling fra siden (ikke Java) Kobling nedefra Kobling indefra Kobling udefra Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Samhørighed Ideal: høj samhørighed Egenskaber ved høj samhørighed: – Delene er begrebsmæssigt beslægtede – Delene udgør funktionelle helheder – Delene beskriver velafgrænsede tilstande – Operationer bruger hinanden 14. 8 Opdeling af klasser eller komponenter med høj samhørighed fører til høj kobling Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Vurdering af afhængigheder 14. 9 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Oversigt Formål Begreber Principper Resultat 14. 10 At forbinde et systems komponenter. Kobling: Et mål for, hvor tæt to klasser er forbundne. Samhørighed: Et mål for, hvor en klasse eller komponent hænger sammen. Høj samhørighed i klasser og lav kobling mellem komponenter. Et klassediagram med de involverede komponenter Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
Opgave 5: Forbind komponenter Formål Resultat • • At forbinde de komponenter, der er defineret og specificeret. Arbejdsform • Se på afhængighederne mellem komponenter en for en. • Overvej mulighederne for realisering af afhængigheden. • Undersøg, om der er forbindelser, som bryder med de definerede afhængigheder. Overvej, om observatørmønsteret kan løse problemet. 14. 11 Et klassediagram med komponenter, klasser og forbindelser. Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 ©
- Slides: 11