Kurs i Design Patterns

Kurs i moderna designmönster i Java

Designmönster är beskrivningar av väl beprövade lösningar av typiska programmeringsproblem och ingår som en självklar komponent i varje professionell programutvecklares arsenal.

Trots att det gått två och ett halvt decenium sedan GOF-boken utgavs är den fortfarande en källa till fruktbärande diskussioner och solida lösningar. Emellertid har också design-metodiken evolverat och med moderna programspråk, vilka har stöd för lambda/closures så programmerar vi också något annorlunda än då.

Den här kursen vänder sig till Java programmerare, som vill fördjupa sina kunskaper i program-design med hjälp av designmönster ur ett modernt utvecklingsperspektiv.

Detta får du lära dig
  • Bred bekantskap med många design mönster
  • Praktisk erfarenhet av att implementera ett flertal mönster i Java 8
  • Bekantskap med klassiska anti-mönster
Kursinnehåll

Background & Overview

Hur design patterns uppstod, blev populära och evolverat under de senaste 25 åren

  • History
  • The GOF book
  • What is a design pattern
  • Classification
  • Patterns usage in lambda enhanced OO programming languages

Creational Patterns

Mönster för att skapa andra object

  • Abstract Factory
  • Builder / Step Builder
  • Factory Method
  • Object Pool
  • Singleton / Multiton / MonoState

Structural Patterns

Mönster för att hantera strukturellt kopplade objekt

  • Adapter
  • Composite
  • Decorator
  • Proxy
  • Service Locator

Behavioral Patterns

Mönster för att hantera algoritmisk bearbetning

  • Command
  • Dependency Injection (DI)
  • Iterator
  • Null Object / Optional
  • Observer
  • State Machine
  • Strategy
  • Template Method
  • Visitor

Persistence Tier Patterns

Mönster för att lagra objekt-data

  • Data Access Object (DAO)
  • Data Mapper
  • Repository

Presentation Tier Patterns

Mönster för användargränssnitt

  • Front Controller
  • Model-View-Controller
  • View Model

Concurrency Patterns

Mönster för flertrådade applikationer

  • Async Method Invocation
  • Double Checked Locking
  • Promise-Future
  • Pipeline
  • Fork-Join
  • Hungry Puppies
  • Reactor / Dispatcher

Architectural Patterns

Mönster för övergripande programdesign

  • API Gateway
  • Event-Driven Execution
  • Hexagonal Architecture
  • Service Layer

Integration Patterns

Mönster för samarbeten mellan applikationer

  • Message Channel
  • Publish-Subscribe

Miscellaneous Patterns

Diverse intressanta och användbara mönster och idiom

  • Caching
  • Callback / Listener
  • Resource Handling Object (RAAI)
  • Fluent Interface
  • Private Class Data

Anti Patterns

Mönster som du bör undvika

  • What is an Anti-Pattern?
  • Advise for Using Anti-Patterns
  • Blob
  • Lava Flow
  • Poltergeist
  • Golden Hammer
  • Copy-Past Programming
  • Stovepipe
SnabbFakta
NamnDesign Patterns
Längd2 Dagar
NivåIntermediate
MålgruppJavautvecklare
FörkunskaperRutinerad i Java programmering
Verktyg
  • Java JDK 8, or later
  • JetBrains Intellij IDEA
KursDatum
DatumPlats Pris
2020-02-20Stockholm 15 000 kr
2020-03-12Stockholm 15 000 kr
2020-04-02Stockholm 15 000 kr
2020-04-27Stockholm 15 000 kr
2020-05-18Stockholm 15 000 kr

Samma-Företags Rabatt

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle. Läs mer här.

Undervisningsspråk

Vårt tryckta kursmaterial är alltid författat på engelska. Den muntliga presentationen i våra klassrum är som regel på svenska, såvida inte samtliga deltagare samtycker till att vi genomför kursen på engelska.

Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Läs mer om vår prismodell och beställningsvillkor här.

Relaterade Kurser
KursDagarNivå
Clean Code2IntermediateVisa
Java Programmering5BeginnerVisa
Java 8/9/...3 IntermediateVisa