Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Kilder til patterns Alle med kredibilitet/legimitet GRASP (9 patterns) GoF (23 patterns) Craig Larman ”Applying UML og Patterns”
Beskrivelser Patterns må beskrives etter en mal Beskrivelsene inneholder ofte UML Minstekrav (klikk)klikk GoF form (klikk)klikk
Arkitektur og mønstre Arkitektur realiseres med mønstre Hvert problem kan ha sitt eget mønster Noen mønstre brukes mange steder i en og samme arkitektur Andre mønstre brukes kanskje bare en gang Bruk av mønstre gir enklere vedlikehold Mønsteret gjør det lett å kjenne seg igjen
System og subsystem Et system kan bestå av flere subsystemer Hvert subsystem har egen arkitektur og mønstre
Mekanismer Mekanismer er mønstre for samarbeid mellom klasser MVC har for eksempel en trelags mekanisme MVC kan vises i et samarbeidsdiagram med tre objekter:
Andre lagdelte design Forretningssystemer er 3-lags eller n-lags Lagene kan være fordelt på ulike noder Et system er for stort til å kalles en mekanisme
Rammeverk Rammeverk er betydelig større enn mekanismer Rammeverk er samarbeid mellom pakkersamarbeid Rammeverk har callbackteknologi Klassebiblioteker lar applikasjonen bruke instanser Rammeverk bruker i tillegg applikasjonens instanser
Applikasjonens instanser Figuren viser bruk av applikasjonens instanser i to av rammeverkets mekanismer
GRASP General Responsibility Assignment Software Patterns GRASP er prinsipper for god OO design GRASP beskriver i den forbindelsen 9 mønstre GRASP gir innsikt i klassisk design
GRASP og high cohesion High cohesion betyr høy sammenheng Uttrykket brukes om en klasses ansvar Klassens operasjoner skal dekke ansvar med høy grad av sammenheng Dette gir objekter med enkle tilstander og enkel api Enkle tilstander og enkel api gir lav risiko