Designmönster i Java program

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.

Designmönster i Java program
2 dagar
Advanced
Javautvecklare
Rutinerad i Java programmering
  • Java JDK
  • MS Visual Code || JetBrains IntelliJ IDEA
Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.

Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser.

I priset ingår kursmaterial som PDF.

Pris: 10 000 kr + MOMS/VAT (25%)

Du sitter bekvämt i ett av våra klassrum, vilka finns centralt placerade i Stockholms innerstad (Östermalmstorg).

I priset ingår tryckt kursmaterial (och som PDF), samt kaffe/te med smörgås på förmiddagen och kaffe/te med bulle på eftermiddagen.

Pris: 16 000 kr + MOMS/VAT (25%)

Om ni är tre eller fler personer från samma företags, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan även mixa fjärr- och klassrumskurs, om några av er önskar delta på distans medan resten föredrar att ses på plats.

Företagsanpassad Kurs

Här är ett sammandrag av vad du får lära dig på kursen. Du kan också kika på hela kursinnehållet via fliken INNEHÅLL

  • Wide acquaintance with many design patterns
  • Practical experience of implementing several patterns in Java 8
  • Acquaintance with classic anti-patterns
  • Many practical code examples are shown during the course

Background & Overview

Hur design patterns uppstod, blev populära och utvceklats 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-Paste Programming
  • Stovepipe