Objektorienterad systemutveckling 1

studied byStudied by 7 people
4.0(1)
get a hint
hint

Vad innebär objekt?

1 / 165

Tags & Description

Studying Progress

0%
New cards
166
Still learning
0
Almost done
0
Mastered
0
166 Terms
1
New cards

Vad innebär objekt?

En designkonstruktion som specificerar :

  • Identititet

  • Tillstånd

  • Tjänster

New cards
2
New cards

Vilka två delar består objekt av?

Data och metoder.

New cards
3
New cards

Vad innebär klass?

En beskrivning av objekttyp, egenskaper och beteende.

New cards
4
New cards

Man säger att klass är vad till ett objekt?

En mall, eller ritning.

New cards
5
New cards

Vad kallas det när man skapar ett objekt?

Instantiering.

New cards
6
New cards

Vad är bra att tänka på vid namngivning av klassnamn?

Ett substantiv givet av uppdragsgivaren, eller från verkligheten som programmet modellerar. Inleds med versal, följt av gemener. Tex BankAccount

New cards
7
New cards

Det finns två olika typer av klasser, vilka?

Abstrakt och konkret klass.

New cards
8
New cards

Vad är bra att tänka på vid namngivning av metodnamn?

Inleds med en gemen, och om sammansatta ord, börjar nästa med versal. Tex accountName

New cards
9
New cards

När bör ett metodnamn vara ett verb?

När det förändrar objektets tillstånd. Tex bytPin()

New cards
10
New cards

Det finns 2 olika metoder i en klass, vilka?

Instansmetod och klassmetod.

New cards
11
New cards

Vad innebär instansmetod?

Att varje instans har sin egna unika uppsättning.

New cards
12
New cards

Vad innebär klassmetod?

Finns endast en uppsättning, som delas mellan samtliga instanser.

New cards
13
New cards

Vilka är de fyra grundläggande principerna i objektorienterad design?

  • Inkapsling

  • Abstraktion

  • Arv

  • Polymorfism

New cards
14
New cards

Vad menas med abstraktion?

Man bryter ner problemet.

New cards
15
New cards

Vad innebär inkapsling?

  • Att dölja information som är oväsentlig.

  • Inkapsling möjliggör abstraktion.

New cards
16
New cards

Vad är .NET plattformen?

Ett mjukvaruramverk som tillåter skapandet av de flesta applikationer (AI, webb, moln, spel, m.m.) på Windows-operativsystem.

New cards
17
New cards

Vilka 2 delar består .NET plattformen av?

En körtidsmiljö och ett standardbibliotek.

New cards
18
New cards

vad ansvarar körtidsmiljön för?

Att lokalisera, ladda och hantera .NET-objekt.

New cards
19
<p>Vad innehåller standardbibliotek? Ge några exempel.</p>
New cards
<p>Vad innehåller standardbibliotek? Ge några exempel.</p>

Vad innehåller standardbibliotek? Ge några exempel.

Trådar, fil I/O (input/output), databastillgång, m.m.

New cards
20
New cards

Vad är “unmanaged“ kod?

Kod som inte kan köras direkt av .NET runtime.

New cards
21
New cards

Vad är “managed“ kod?

Kod som kan köras i .NET runtime.

New cards
22
New cards

Vad är assembly?

En binärfil (.exe eller. dll) som innehåller “managed“ kod.

New cards
23
New cards

Vad är det .NET kod kompileras till?

Binärfiler, eller “assemblies“.

New cards
24
New cards

Vilka tre delar innehåller en assembly?

  1. CIL-kod

  2. Metadata

  3. Manifest

New cards
25
New cards

Vad innebär metadata i .NET?

Det är en fullständig beskrivning av varje typ (klass, interface m.m.) som finns i binärfilen, och varje medlem (fält, metoder, events m.m.) i varje typ.

New cards
26
New cards

Vad är manifest i .NET?

Metadata som beskriver själva assemblyn.

Tex assemblyns namn och versionnummer, copyright information, och vilka externa assemblies denna assemblyn behöver.

New cards
27
New cards

Vad är CTS?

En specifiktation som beskriver hur typer (class, struct, interface, enum, delegate) måste defineras för att kunna köras i CLR.

New cards
28
New cards

Vilka medlemmar kan en klass i CTS innehålla?

  • Fält/attribut

  • Properties

  • Konstruktorer

  • Metoder

  • Events

New cards
29
<p>Vilka modifierare kan CTS innehålla?</p>
New cards
<p>Vilka modifierare kan CTS innehålla?</p>

Vilka modifierare kan CTS innehålla?

  • Public

  • Internal

  • Abstract

  • Sealed

New cards
30
New cards

Vad innebär interface?

Det är namngivna samlingar av abstrakta medlemmar som kan implementeras av en class eller struct.

New cards
31
New cards

Vilken konstruktion möjliggörs när en class eller struct implementerar ett interface?

Interface-baserad polymorfism.

New cards
32
<p>Vad är enumerationer?</p>
New cards
<p>Vad är enumerationer?</p>

Vad är enumerationer?

Namngivna samlingar av namn-värdepar.

New cards
33
New cards

Vad ansvarar körtidsmiljön för?

  1. Att lokalisera en given assembly på hårddisken

  2. Hitta den relevanta typen i assemblyn genom metadata

  3. Lägga ut aktuell typ i minnet

  4. Kompilera tillhörande CIL till plattformsspecifika instruktioner

  5. Utföra säkerhetskontroller

  6. Köra de plattformsspecifika instruktionerna

New cards
34
<p>Vad är en namespace?</p>
New cards
<p>Vad är en namespace?</p>

Vad är en namespace?

En grupp av semantisk relaterade typer som finns i en assembly.

New cards
35
New cards

Vad står UML för?

Unified Modeling Language

New cards
36
New cards

Vad används UML för?

Att beskriva olika aspekter av objektorienterade system. Genom att :

  • visualisera

  • specificera

  • konstruera

  • dokumentera

New cards
37
New cards

Varför modellerar man?

För att minska komplexitet av problem och öka förståelse av ett system.

New cards
38
<p>Vad är syntax inom UML?</p>
New cards
<p>Vad är syntax inom UML?</p>

Vad är syntax inom UML?

Hur symbolen får se ut och kombineras.

New cards
39
<p>Vad är semantik inom UML?</p>
New cards
<p>Vad är semantik inom UML?</p>

Vad är semantik inom UML?

Symbolernas betydelse.

New cards
40
<p>Vilka 6 symboler finns för att förklara klassrelatioer?</p>
New cards
<p>Vilka 6 symboler finns för att förklara klassrelatioer?</p>

Vilka 6 symboler finns för att förklara klassrelatioer?

  1. Association

  2. Arv

  3. Realisera

  4. Beroende

  5. Aggregation

  6. Komposition

New cards
41
New cards

Varför har man Use-Case?

För att kunna fånga kunders och användares mål och behov.

New cards
42
New cards

Vad är en aktör?

Någon med ett beteende (Person, datorsystem, organisation, databas m.m.)

New cards
43
New cards

Vilka fyra delar innefattar den övergripande utvecklingsmodellen?

  • Inception

  • Elaboration

  • Construction

  • Transition

New cards
44
New cards

Vad innefattar inception delen?

  • Vision

  • Affärsmodell

  • Omfattning

  • Affärsmodellering

  • Kravspecifikation

Resulterar i en konceptuell domänmodell.

Säkerställer att vi löser rätt problem.

New cards
45
New cards

Vad innefattar elaboration delen?

Samma steg som i inceptions delen:

  • Vision

  • Affärsmodell

  • Omfattning

  • Affärsmodellering

  • Kravspecifikation

Men resulterar i en Designmodell.

För att säkerställa att vi utvecklar lösningen på rätt sätt.

New cards
46
New cards

Vad innefattar construction delen?

Man fokusera på implementationen av designmodellen. Översätta lösningen till kod (tex C#). För att realisera en bra lösning på problemet.

New cards
47
New cards

Vad innefattar transition delen?

Överlämning av mjukvaran till de nya ägarna.

New cards
48
New cards

Vad är viktigt i analys av en problembeskrivning?

  • Vilka begrepp beskriver problemet?

  • Vilken information används (attribut, fält eller parametrar)?

  • Vilken relation/samband finns mellan dessa?

New cards
49
New cards

När anses ett mjukvarusystem vara komplext?

  • Domänen är svår att begripa

  • Utvecklingsprocessen är svår att hantera

  • Mjukvaruprogram möjliggör flexibilitet i stor utsträckning

  • Beteendet utgörs av interaktion mellan diskreta system

New cards
50
New cards

Vilka egenskaper har komplexa system?

<ul><li><p>En hierarkisk struktur (rankade komponenter)</p></li><li><p>Primitiva komponenter (tolkning av abstrakt-valbara)</p></li><li><p>Intra- och inter- komponenter (lätt uppdelning med tydliga gränser)</p></li><li><p>Gemensamma mönster (tydliga mönster)</p></li><li><p>Stabilt mellanliggande former (komponenter som är starkt kopplade)</p></li></ul>
  • En hierarkisk struktur (rankade komponenter)

  • Primitiva komponenter (tolkning av abstrakt-valbara)

  • Intra- och inter- komponenter (lätt uppdelning med tydliga gränser)

  • Gemensamma mönster (tydliga mönster)

  • Stabilt mellanliggande former (komponenter som är starkt kopplade)

<ul><li><p>En hierarkisk struktur (rankade komponenter)</p></li><li><p>Primitiva komponenter (tolkning av abstrakt-valbara)</p></li><li><p>Intra- och inter- komponenter (lätt uppdelning med tydliga gränser)</p></li><li><p>Gemensamma mönster (tydliga mönster)</p></li><li><p>Stabilt mellanliggande former (komponenter som är starkt kopplade)</p></li></ul>
New cards
51
New cards

Vilka 4 steg följer man i nedbrytningen av en process?

  1. Textanalys (Hitta substantiv och attribut)

  2. Identifiera roller

  3. Hitta relevanta abstraktion

  4. Rangordna abstraktioner i hierarki

New cards
52
New cards

Vad är objektorienterad design?

Ett tankesätt för att designa objektorienterade system

New cards
53
New cards

Vad resulterar en objektorienterad analys (OOA) i?

<p>En domänmodell, dvs klasser med associationer och kardinaliteter</p>

En domänmodell, dvs klasser med associationer och kardinaliteter

<p>En domänmodell, dvs klasser med associationer och kardinaliteter</p>
New cards
54
New cards

Vad ligger i fokus i objektorienterad design (OOD)?

<p>Klasser och objekt på substantiv från problemdomänen. Riktas mer inpå hur lösningen ska se ut.</p>

Klasser och objekt på substantiv från problemdomänen. Riktas mer inpå hur lösningen ska se ut.

<p>Klasser och objekt på substantiv från problemdomänen. Riktas mer inpå hur lösningen ska se ut.</p>
New cards
55
New cards

Vad innebär objektorienterad programmering (OOP)?

<p>Programkod som består av klasser och objekt, där varje objekt är en instans av en klass (eller en mall)</p>

Programkod som består av klasser och objekt, där varje objekt är en instans av en klass (eller en mall)

<p>Programkod som består av klasser och objekt, där varje objekt är en instans av en klass (eller en mall)</p>
New cards
56
New cards

Vad innebär abstraktion?

Man väljer ut och fokuserar på systemets relevanta komponenter.

New cards
57
New cards

Vad innebär inkapsling?

Principen att objekts inre uppbyggnad ska vara ointressant för den som använder objektet i programmering. Allt en programmerare behöver veta är vad objektet kan göra och hur man instruerar objektet att göra.

New cards
58
New cards

Vad innebär modularitet?

Det att något är uppdelat i delar (moduler, komponenter), så att det kan tas i sär och sättas ihop på olika sätt.

New cards
59
New cards

Vad innebär hierarki?

Mm strukturering av information: med underavdelningar i flera led (i en hierarki). Exempel: katalogerna (mapparna) i ett filsystem, domänerna i internets adressystem DNS.

New cards
60
New cards

Vad används undantagshantering till?

Om ett fel inträffar i ett program under körtid, kommer programmet att avslutas på ett okontrollerat sätt.

Felet kan hanteras med ett undantag(Exception) och undantagshantering (Exception Handling)

Genom att tillämpa undantagshantering, kan man hantera fel som uppstår under körtid så att programmet kan fortsätta sin exekvering eller avslutas på ett kontrollerat sätt.

New cards
61
New cards

Vilka fördelar finns med Undantagshantering?

  • Den tillåter en metod att kasta ett undantag till dess anropande metod, varpå den anropande metoden kan hantera undantaget.

  • Utan denna konstruktion, måste en metod antingen hantera felet eller avsluta programmet.

New cards
62
New cards

Vad gör undantag inom undantagstyper och undantagshierarkin?

<p>Undantag representerar fel som orsakas av ett program samt av externa omständigheter som kan “fångas“ och hanteras av programmet.</p>

Undantag representerar fel som orsakas av ett program samt av externa omständigheter som kan “fångas“ och hanteras av programmet.

<p>Undantag representerar fel som orsakas av ett program samt av externa omständigheter som kan “fångas“ och hanteras av programmet.</p>
New cards
63
New cards

Vad innebär att “Kasta undantag“?

<ul><li><p>När en metod upptäcker ett fel, kan metoden skapa en instans av ett lämpligt undantag och kasta den.</p></li><li><p>En metod kastar ett undantag genom att ange det reserverade ordet “throw“ efterföljt av undantagsinstansen.</p></li></ul>
  • När en metod upptäcker ett fel, kan metoden skapa en instans av ett lämpligt undantag och kasta den.

  • En metod kastar ett undantag genom att ange det reserverade ordet “throw“ efterföljt av undantagsinstansen.

<ul><li><p>När en metod upptäcker ett fel, kan metoden skapa en instans av ett lämpligt undantag och kasta den.</p></li><li><p>En metod kastar ett undantag genom att ange det reserverade ordet “throw“ efterföljt av undantagsinstansen.</p></li></ul>
New cards
64
New cards

Hur fångar man undantag (catching exceptions)?

<p>Undantag fångas genom att använda try…catch block</p><ul><li><p>Koden som ska kasta undantag, innesluts i ett try block</p></li><li><p>Varje undantagstyp som skall fångas, anges i ett eget catch block</p></li></ul>

Undantag fångas genom att använda try…catch block

  • Koden som ska kasta undantag, innesluts i ett try block

  • Varje undantagstyp som skall fångas, anges i ett eget catch block

<p>Undantag fångas genom att använda try…catch block</p><ul><li><p>Koden som ska kasta undantag, innesluts i ett try block</p></li><li><p>Varje undantagstyp som skall fångas, anges i ett eget catch block</p></li></ul>
New cards
65
New cards

Vilken information finns i undantag?

Message

  • Innehåller meddelandet som beskriver undantaget.

StackTrace

  • Innehåller information om anropsstacken.

ToString()

  • Returnerar

New cards
66
New cards

Vad för funktioner kan undantag göra?

  1. Kasta

  2. Fånga

  3. Kasta vidare

  4. Länka

New cards
67
New cards

Vad används ett finally klausal?

<p>Används ihop med try eller try…catch för att skapa ett try…finally block eller ett try…catch…finally block</p><p></p><p>Ett finally block exekveras alltid, oberoende av om undantag kastas eller inte.</p>

Används ihop med try eller try…catch för att skapa ett try…finally block eller ett try…catch…finally block

Ett finally block exekveras alltid, oberoende av om undantag kastas eller inte.

<p>Används ihop med try eller try…catch för att skapa ett try…finally block eller ett try…catch…finally block</p><p></p><p>Ett finally block exekveras alltid, oberoende av om undantag kastas eller inte.</p>
New cards
68
New cards

Nämn en fördel och en nackdel med undantag…

Fördel:

  • Undantagshantering separerar felhanteringen från det normala programflödet, vilket gör det lättare att läsa samt underhålla kod.

Nackdel:

  • Undantagshantering kräver längre exekveringstid samt fler resurser

New cards
69
New cards

När ska man kasta undantag?

  • När ett systemfel inträffar

  • När ett fel inträffar som metoden vet om

Om felet kan hanteras i metoden, kasta INTE ett undantag.

New cards
70
New cards

När ska man använda undantag?

<ul><li><p>Använd undantagshantering i koden för att hantera oförutsedda feltillstånd.</p></li><li><p>Undvik undantagshantering i koden för att hantera förutsedda feltillstånd.</p></li></ul><p></p><p>Ex</p><p>Använd hellre if… else än try…catch som i bilden.</p>
  • Använd undantagshantering i koden för att hantera oförutsedda feltillstånd.

  • Undvik undantagshantering i koden för att hantera förutsedda feltillstånd.

Ex

Använd hellre if… else än try…catch som i bilden.

<ul><li><p>Använd undantagshantering i koden för att hantera oförutsedda feltillstånd.</p></li><li><p>Undvik undantagshantering i koden för att hantera förutsedda feltillstånd.</p></li></ul><p></p><p>Ex</p><p>Använd hellre if… else än try…catch som i bilden.</p>
New cards
71
New cards

Namespace System.IO innehåller typer för att?

Manipulera: diskenheter, foldrar och filer

Läsa & skriva till/från

  • Filer

  • Minne

  • Strängar

New cards
72
New cards

Vad måste inkluderas för att kunna använda typerna från namespace System.IO?

<p>System.IO måste inkluderas längst upp i källkodsfilen med nyckelordet “using“.</p><p></p><p>Ex. kolla bild.</p>

System.IO måste inkluderas längst upp i källkodsfilen med nyckelordet “using“.

Ex. kolla bild.

<p>System.IO måste inkluderas längst upp i källkodsfilen med nyckelordet “using“.</p><p></p><p>Ex. kolla bild.</p>
New cards
73
New cards

System.IO innehåller fyra klasser, vilka och varför?

  1. Directory

  2. File

  3. DirectoryInfo

  4. FileInfo

Dessa för att manipulera filer samt integrera med datorns filsystem.

New cards
74
New cards

Directory och File, ärvs av? och innebär vad?

Ärver från Objekt

  • Är statiska klasser

  • Innehåller statiska medlemmar för att skapa, ta bort, kopiera och flytta foldrar/filer.

New cards
75
New cards

DirectoryInfo & FileInfo, ärvs av? och innebär?

Ärver från FileSystemInfo

  • Har liknande funktionalitet som Directory och File men via instansmedlemmar.

  • Returnerar strängar

New cards
76
New cards

Vad för egenskap har DirectoryInfo?

När man har skapat en DirectoryInfo instans, kan man använda de ärvda medlemmerna från FileSystemInfo för att undersöka folderns innehåll.

New cards
77
New cards

DriveInfo innehåller vad ?

DriveInfo klassen innehåller en statisk metod DriveInfo.GetDrives() som också listar datorns enheter, men returnerar DriveInfo objekt med detaljerad information.

New cards
78
New cards

Vad används DriveInfo till?

Används för att erhålla information om diskenheter.

New cards
79
New cards

Vad för skillnader finns mellan textfiler och binärfiler?

  • Data som lagras som textfiler kan läsas av en människa via en texteditor.

  • C# kod lagras i textfiler.

  • Data som lagras som binärfiler kan inte läsas av en människa via en texteditor.

  • Binärfiler är designade att läsas av ett program, och processas därför mycket effektivare än textfiler.

  • C# kompilerad kod kan lagras som bytekod i binärfiler (.dll, .exe)

New cards
80
New cards

Vad gör en filpekare?

  • Är en speciell pekare, kallad filpekaren, pekar alltid på en viss byte i filen.

  • En läs-/skrivoperation utförs alltid för den byte som filpekaren pekar på.

  • När en fil öppnas, pekar filpekaren på första byten i filen.

  • När en läs-/skrivoperation utförs, flyttas filpekaren automatiskt fram i filen.

New cards
81
New cards

Vad är serialisering?

<ul><li><p>Den beskriver processen att konventera ett objekt till en sekvens av bytes som kan skickas till en ström.</p></li><li><p>All nödvändig information för att återskapa ett objekt serialiseras.</p></li><li><p>Serialisering leder oftast till mindre kod.</p></li><li><p>För att en klass ska vara vara seraliserbar måste klassen märkas med attributet [Seralizable] (kolla bilden)</p></li></ul>
  • Den beskriver processen att konventera ett objekt till en sekvens av bytes som kan skickas till en ström.

  • All nödvändig information för att återskapa ett objekt serialiseras.

  • Serialisering leder oftast till mindre kod.

  • För att en klass ska vara vara seraliserbar måste klassen märkas med attributet [Seralizable] (kolla bilden)

<ul><li><p>Den beskriver processen att konventera ett objekt till en sekvens av bytes som kan skickas till en ström.</p></li><li><p>All nödvändig information för att återskapa ett objekt serialiseras.</p></li><li><p>Serialisering leder oftast till mindre kod.</p></li><li><p>För att en klass ska vara vara seraliserbar måste klassen märkas med attributet [Seralizable] (kolla bilden)</p></li></ul>
New cards
82
New cards

Vad gör deseralisering?

Beskriver processen att återskapa ett objekt från en sekvens av bytes som kan tas emot från en ström.

New cards
83
New cards

Vad är en Delegate?

I.NET är en delegate en klass som representerar en funktionspekare, och innehåller:

  • Adressen av metoden som den anropar

  • Metodens parametrar

  • Metodens returtyp

  • Delegates kan peka på både statiska och instansmetoder

  • Delagates kan även peka på flera metoder samtidigt, så länge de har samma signatur.

New cards
84
New cards

Hur derfinerar man en Delegate?

Defineras med nyckelordet delegate efterföljt av en metodsignatur.

New cards
85
New cards

Hur använder man Delegates för bitufuerubgar från ett objekt?

Delegates tillämpas normalt så att ett objekt kan notifiera andra objekt om dess tillståndsförändringar:

  1. Definiera en delegate typ i klassen som används för att notifiera andra objekt.

  2. Skapa ett attribut med delegate typen som datatyp i klassen.

  3. Skapa en metod i klassen som andra objekt kan använda för att registrera sig (dvs de registrerar en metod som delegaten kan anropa vid tillståndsförändringar).

  4. Anropa delegaten i klassen när tillståndsförändringar sker för att notifiera \n registrerade objekt.

New cards
86
New cards

Vilka två generiska delegate typerna finns?

  1. Action<>

  2. Func<>

New cards
87
New cards

Varför använder man de två generiska delegate typerna?

För att slippa skriva egen definierade delegates.

New cards
88
New cards

Vad innebär nyckelordet Event?

Kan användas för att göra processen mycket simplare och säkrare.

New cards
89
New cards

Vad representerar klassen EventArgs?

Ett händelseargument utan någon extra information.

Man kan skapa egendefinerade händelseargument genom att ärva från EventArgs.

New cards
90
New cards

Hur gör man en “anonym metod“ i C#?

<p>Skapas genom att ersätta metodnamnet med nyckelordet delegate.</p>

Skapas genom att ersätta metodnamnet med nyckelordet delegate.

<p>Skapas genom att ersätta metodnamnet med nyckelordet delegate.</p>
New cards
91
New cards

Vad är lambdauttryck?

Ännu ett sätt att skriva anonyma metoder på, och på ett ännu simplare sätt att jobba med delegates.

New cards
92
New cards

Vad gäller för anonyma typer?

  • Programmeraren vet inte namnet på den anonyma typen

  • Ärver alltid direkt från System.Object

  • Alla attribut och properties är endast läsbara

  • Har inga egendefinierade metoder, events, osv.

  • Går ej att ärva från

  • Skapas alltid med defaultkonstruktorn

New cards
93
New cards

Vad är designmönster?

  • Mikroarkitekturer som ofta förekommer i väl designade applikationer.

  • Ett sätt att återanvända tidigare lösningar på vanligt förekommande problem.

  • En namngiven beskrivning av ett problem och en lösning som kan tillämpas i olika situationer.

  • Ett gemensamt språk för vanligt förekommande problem-lösning par.

  • Myntades av arkitekten Christopher Alexander.

New cards
94
New cards

Vad består designmönster huvudsakligen av?

  • Ett namn

  • Ett problem

  • En lösning

  • En konsekvens

New cards
95
New cards

Designmönster bygger på något eller några koncept, vilka finns?

  • Interface

  • Abstrakta klasser

  • Arv

  • Delegering

New cards
96
New cards

“GoF” designmönster står för?

“The gang of four“

New cards
97
New cards

GoF har 23 designmönster enligt boken, vilka tre kategorier indelas dem i?

  1. Skapelsemönster (Creational Patterns)

  2. Strukturella mönster (Structural Patterns)

  3. Beteendemönster (Behavioral Patterns)

New cards
98
New cards

Vad gör skapelsemönster?

Beskriver olika sätt att styra skapandet av objekt.

  • Abstract Factory \n Förser klienten med en familj av relaterade eller beroende objekt (runtime).

  • Builder \n Skapar komplexa objekt, uppbyggda av delobjekt som skapas enligt någon algoritm.

  • Factory Method \n Abstraherar skapelseprocessen av objekt genom att ersätta konstruktorer (runtime).

  • Prototype \n Instansierar ett nytt objekt genom att klona ett befintligt objekt.

  • Singleton \n Ser till så att endast 1 instans av en klass skapas.

New cards
99
New cards

Vad gör Strukturella mönster?

Beskriver hur klasser och objekt kan kombineras för att bilda större strukturer.

  • Adapter

Används för att göra en annars inkompatibel klass kompatibel med klienten genom att innesluta den inkompatibla klassen i en kompatibel klass (dvs som implementerar ett interface som klienten kräver).

  • Bridge

Används för att separera de abstrakta elementen i en klass från implementationen, så att implementationen kan ändras utan att behöva ändra på abstraktionen.

  • Composite

Används för att skapa hierarkiska, rekursiva strukturer av relaterade objekt, där ett godtyckligt \n element i strukturen kan accessas och användas på vanligt sätt.

  • Decorator

Används för att utöka eller ändra objekts funktionalitet under körtid genom att innesluta dem i en Decorator klass (alternativ till att använda arv).

  • Façade

Används för att definiera ett enklare interface till ett mera komplext delsystem.

  • Flyweight

Används för att minska resursanvändning för komplexa modeller som innehåller många liknande objekt.

  • Proxy

Används för att skapa en surrogat-objekt, som refererar till ett underliggade objekt, och som implementerar samma interface som det underliggande objektet. Surrogat-objektet vidarebefordrar anrop från klienten till det underliggade objektet vid behov.

New cards
100
New cards

Vad gör Beteendemönster?

Beskriver olika sätt för klasser och objekt att kommunicera med varandra.

  • Chain of Responsibility \n Används för att processera data i en pipeline där flera hanterare kan processera datan

  • Command \n Kapslar in ett kommando, med argument, där kommandot kan exekveras eller sparas.

  • Interpreter \n Används för att definiera en grammatik för instruktioner som tillhör ett språk.

  • Iterator \n Används för att skapa ett standardinterface för att traversera en samling objekt.

  • Mediator \n Används för att minska beroendet mellan klasser som kommunicerar med varandra \n (meddelanden mellan klasserna skickas via ett Mediator objekt).

  • Memento \n Används för att lagra tillståndet för ett objekt, så att det kan återskapas senare.

  • Observer \n Används för att tillåta ett objekt att notifiera andra objekt om interna förändringar.

  • State \n Används för att förändra beteendet av ett objekt då dess inre tillstånd förändras.

  • Strategy \n Används för att skapa en familj av algoritmer som kan väljas under körtid.

  • Template \n Används för att definiera stegen i en algoritm, där implementationen kan ändras.

  • Visitor \n Används för att separera en komplex mängd strukturerad data från funktionaliteten som kan \n utföras på datan som de innesluter.

New cards

Explore top notes

note Note
studied byStudied by 19 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 49 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 4 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 13 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 6 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 72 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 160 people
Updated ... ago
5.0 Stars(3)
note Note
studied byStudied by 7 people
Updated ... ago
5.0 Stars(1)

Explore top flashcards

flashcards Flashcard257 terms
studied byStudied by 10 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard146 terms
studied byStudied by 18 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard62 terms
studied byStudied by 30 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard49 terms
studied byStudied by 2 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard93 terms
studied byStudied by 117 people
Updated ... ago
4.3 Stars(4)
flashcards Flashcard100 terms
studied byStudied by 2 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard148 terms
studied byStudied by 22 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard69 terms
studied byStudied by 6 people
Updated ... ago
5.0 Stars(1)