Fortsætter vores serie af stykker om yderligere programmeringsrelaterede emner, som ikke er en del af CodeGyms kursus, med links og anbefalinger til, hvor du kan lære dem. I dag skal vi tale om designmønstre. Coding Skills LevelUp, del 3. Hvor kan man lære om designmønstre - 1

Hvad er designmønstre

Inden for softwareudvikling er designmønstre generelle og genanvendelige løsninger på forskellige almindeligt forekommende problemer. Designmønstre er ikke komplette designs, men snarere skabeloner og beskrivelser, der forklarer, hvordan et bestemt problem kan løses. Designmønstre kan ses som en struktureret tilgang til computerprogrammering mellem niveauerne af et programmeringsparadigme og en konkret algoritme, ifølge Wikipedias beskrivelseaf konceptet. Objektorienterede designmønstre viser typisk relationer og interaktioner mellem klasser eller objekter uden at specificere de endelige applikationsklasser eller objekter, der er involveret. Mønstre, der indebærer foranderlig tilstand, kan være uegnede til funktionelle programmeringssprog, nogle mønstre kan gøres unødvendige i sprog, der har indbygget støtte til at løse det problem, de forsøger at løse, og objektorienterede mønstre er ikke nødvendigvis egnede til ikke-objekt -orienterede sprog. Designmønstre anses for at være vigtige, fordi undersøgelser har vist, at de spiller en vigtig rolle i at øge kompleksiteten og forbedre vedligeholdelsen af ​​softwaren. "Vores undersøgelse har vist, at de primære undersøgelser giver empirisk dokumentation for den positive effekt af dokumentation af designmønstereksempler på programforståelse, og dermed vedligeholdelse. Selvom dette resultat ikke er overraskende, har det dog to indikationer. For det første bør udviklere gøre en større indsats for at tilføje sådan dokumentation, selvom det er i form af simple kommentarer i kildekoden. For det andet, når man sammenligner resultaterne af forskellige undersøgelser, skal effekten af ​​dokumentation overvejes," ifølge forfatterne af anyere undersøgelse .

Bøger om design mønstre

Head First Design Patterns anses for at være en af ​​de bedste bøger om designmønstre for Java-udviklere, både friske og dem, der har mange års professionel erfaring, men aldrig har studeret designmønstre. Seneste udgave af Head First Design Patterns, opdateret til Java 8, viser dig de gennemprøvede, road-testede mønstre, der bruges af udviklere til at skabe funktionel, elegant, genanvendelig og fleksibel software. "Når du er færdig med denne bog, vil du være i stand til at drage fordel af den bedste designpraksis og erfaringer fra dem, der har kæmpet mod udyret af softwaredesign og sejret. Ved at bruge den nyeste forskning inden for kognitiv videnskab og læringsteori til at skabe en multisensorisk læringsoplevelse, bruger Head First Design Patterns et visuelt rigt format designet til den måde, din hjerne fungerer på, ikke en teksttung tilgang, der får dig til at sove,

Denne bog, Design Patterns in Java, er fantastisk for sin praksis-første tilgang og dybe indsigt i, at du har brug for fuldt ud at udnytte kraften i designmønstre i ethvert Java-softwareprojekt. Ved at trække på deres omfattende erfaring som Java-instruktører og -programmører belyser Steve Metsker og Bill Wake hvert mønster med rigtige Java-programmer, klare UML-diagrammer og overbevisende øvelser. Læsere vil hurtigt gå fra teori til applikation og lære, hvordan man forbedrer ny kode og refaktoriserer eksisterende kode for enkelhed, håndterbarhed og ydeevne.

Denne vil være meget nyttig for JEE-udviklere. Real World Java EE Patterns diskuterer mønstre og bedste praksis på en struktureret måde med kode fra projekter i den virkelige verden. Den omskrevne og genredigerede version af denne bog dækker en introduktion til kerneprincipperne og API'erne i Java EE 6, principper for transaktioner, isolationsniveauer, CAP og BASE, fjernbetjening, pragmatisk modularisering og struktur af Java EE-applikationer, diskussion af overflødige mønstre og forældede best practices, mønstre for domænedrevne og serviceorienterede komponenter, brugerdefinerede scopes, asynkron behandling og parallelisering, real-time HTTP-hændelser, planlæggere, REST-optimeringer, plugins og overvågningsværktøjer og fuldt funktionel JCA 1.6-implementering.

Head First Object-Oriented Analysis & Design viser dig, hvordan du analyserer, designer og skriver seriøs objektorienteret software. Den lærer, hvordan man bruger OO-principper som indkapsling og delegering til at bygge applikationer, der er fleksible, hvordan man anvender Open-Closed Principle (OCP) og Single Responsibility Principle (SRP) til at fremme genbrug af din kode, hvordan man udnytter kraften i design mønstre for at løse dine problemer mere effektivt. Du vil også lære at bruge UML, use cases og diagrammer for at sikre, at alle interessenter kommunikerer klart for at hjælpe dig med at levere den rigtige software, der opfylder alles behov.

I dette arbejde præsenterer fire erfarne designere et katalog over enkle og kortfattede løsninger på almindeligt forekommende designproblemer. Disse 23 mønstre, der tidligere var udokumenterede, giver designere mulighed for at skabe mere fleksible, elegante og i sidste ende genanvendelige designs uden at skulle genopdage selve designløsningerne. Forfatterne begynder med at beskrive, hvad mønstre er, og hvordan de kan hjælpe dig med at designe objektorienteret software. De fortsætter derefter med systematisk at navngive, forklare, evaluere og katalogisere tilbagevendende designs i objektorienterede systemer.

Onlinekurser om designmønstre

Dette kursus udvider objektorienteret analyse og design ved at inkorporere designmønstre for at skabe interaktive applikationer. Gennem en undersøgelse af etablerede designmønstre får du et grundlag for mere komplekse softwareapplikationer. Til sidst vil du identificere problematiske softwaredesigns ved at henvise til et katalog over kodelugte.

Dette er det fjerde kursus i specialiseringen om at lære at udvikle videospil ved hjælp af C#-programmeringssproget og Unity-spilmotoren på Windows eller Mac. Vil være godt for dem, der er interesseret i spiludvikling.

YouTube-kanaler og afspilningslister

I denne videotutorial dækker Derek Banas alle de mest almindelige designmønstre. Han forklarer også, hvornår man skal bruge dem og andre emner om OOP-designprincipper.

Endnu en anstændig vejledning om designmønstre, denne gang udført af Christopher Okhravi.

Til sidst forklares en vejledning om designmønstre i enkle ord ved hjælp af eksempler fra den virkelige verden af ​​Mosh Hamedani, forfatter til en populær kanal Programmering med Mosh.