Design Patterns er generelle, åbne retningslinjer for software design. De beskriver ofte en generisk løsning på et almindeligt problem, som kan tilpasses og anvendes på forskellige områder af softwareudvikling.

OOP

Objektorienteret programmering (OOP) er en programmeringsparadigme baseret på konceptet om "objekter", som kan indeholde data og kode: data i form af felter (ofte kendt som attributter), og kode i form af procedurer (ofte kendt som metoder). Der er fire grundkoncepter inden for OOP som vi skal lære om allerede på H1 nemlig, inkapsulation, arv, polymorfi og abstraktion.

Design Patterns Elements of Reusable Object-Oriented Software

Bogen "Design Patterns: Elements of Reusable Object-Oriented Software" er en vigtig ressource inden for softwareudvikling. Den beskriver generelle retningslinjer og løsninger på almindelige problemer inden for softwaredesign. Bogen er relevant for udviklere, der ønsker at forbedre deres evne til at designe fleksible og genanvendelige softwareløsninger.

Bogen er vigtig at kende til, fordi den præsenterer et sæt af velafprøvede designmønstre, der kan anvendes på forskellige områder af softwareudvikling. Disse mønstre hjælper udviklere med at løse typiske problemer og opnå softwarearkitekturer, der er mere vedligeholdelsesvenlige, skalerbare og genanvendelige.

Ved at lære og anvende de designmønstre, der præsenteres i bogen, kan udviklere undgå at opfinde hjulet på ny og drage fordel af best-practices inden for softwareudvikling. Det kan også gøre samarbejdet nemmere mellem udviklere ved at etablere et fælles sprog og forståelse for softwarearkitektur.

Kort sagt er bogen "Design Patterns: Elements of Reusable Object-Oriented Software" vigtig at kende til, fordi den giver udviklere et værdifuldt sæt af retningslinjer og løsninger til at forbedre deres softwareudviklingspraksis og opnå mere effektive og robuste softwareløsninger.

Bogen kan findes her: http://www.javier8a.com/itc/bd1/articulo.pdf

Der findes mange videoer som tager udgang fra bogen og forklare det på en lidt mere morderne måde:

8 Design Patterns EVERY Developer Should Know

Mindre design patterns - lidt af det samme som sidste video, med nogle andre vinkler

10 Design Patterns Explained in 10 Minutes

MVC, MVP & MVVM

MVC, MVP og MVVM er tre forskellige designmønstre, der bruges inden for softwareudvikling til at organisere og strukturere kode og adskille forskellige ansvarsområder.

Hvert af disse mønstre har forskellige fordele og anvendelsesområder, og valget af mønster afhænger af kravene og behovene i den konkrete softwareapplikation.

Clean code