Software Architecture

På denna utbildning tar vi en titt på beprövade arkitekturlösningar för hållbara system: testdriven utveckling, domändriven design, objektorienterade principer, SOA, dependency injection och ett antal andra mönster. Målet är att ge dig en djup förståelse, så att du sedan kan komma tillbaka till ditt eget projekt och applicera dessa lösningar.

Arkitektur är ofta vad som skiljer ett lyckat projekt från kaos. Moderna system lägger många krav på arkitekten och utvecklarna. De ska vara:

  • persistenta, och inte tappa information
  • tillgängliga och klara belastningstoppar
  • lätta att integrera med andra system
  • distribuerade (ibland)
  • säkra
  • testbara
  • lätta att bygga ut och förvalta

Kursen lär dig alternativa mönster, saknade pusselbitar, och att det finns fler sätt att lösa problemen. Den är framtagen av vår partner Edument utifrån många års erfarenhet i storskaliga projekt i industrin.

Målgrupp

Utvecklare och arkitekter som ska designa system eller ikläda sig arkitektrollen i sitt projekt. 

Förkunskaper

Ett par års utveckling. Gärna i något objektorienterat språk (som Java, C#, C++). Kursen är dock språk- och plattformsoberoende.

Ämnesområden (Engelska)

The Role of The Architect

  • What the architect does and doesn't do.
  • The architect's place in the team.
  • Why architecture is hard.

Design Approaches

  • TDD
  • BDD
  • DDD: domain models, bounded contexts, ubiquitous language
  • CRUD vs semantic operations
  • Layered architecture
  • CQRS
  • Messages busses and queues

API Design

  • Naming
  • Consistency
  • State (CQS, mutable and immutable designs)
  • Aggregates
  • Invariants

Design Patterns

  • SOLID principles
  • Inversion of Control, Dependency Injection
  • Object Oriented API patterns
  • Higher Order Programming API patterns
  • Extensibility and maintainability

Data Access Architecture

  • CAP, ACID and eventual consistency
  • ORMs: what they are, benefits, pitfalls
  • Data Access Layers and Data Transfer Objects
  • Database-centric vs model-centric design
  • SQL vs noSQL
  • Event sourcing

Service Oriented Architecture

  • Service orientation
  • Interoberability and integration
  • Web services

UI Architecture

  • MVC
  • MVP
  • MVVM
  • Task based UI

Security

  • The economics of security
  • Common vulnerabilities and how to architect against them
  • Web vulnerabilities
  • General security guidelines

Testable Architecture

  • Organizing a test suite
  • Unit tests vs integration tests
  • Testable design: how to architect to make testing easy

Scalable Architecture

  • Vertical vs Horizontal scaling
  • Scalability gotchas
  • Separated read/write architectures
  • Caching
  • Session state management

Boka kursen

Boka din plats redan idag.

Om kursen

Pris: 19 500,00 kr

exklusive moms

Längd 2 dagar
Kurskod ET100

KompetenskortKompetenskort gäller på denna kurs

Boka kursen

Välj ort och kursstart

9 februari

20 april

Kunduppgifter

Kursanmälan är bindande. För mer information och avbokningsregler se våra allmänna villkor.