Search, explore and find the perfect course for you

Software Architecture

How do you avoid making your project a big ball of mud? How do you balance a wide range of design concerns and constraints? How do you map customer requirements to working software? This course provides you with the means and methods to face these challenges.

  • Architecture

Target audience

Developers and architects who design systems or assume the role of the architect in a project


A couple of years of development. Preferably in an object oriented language (Java, C#, C++). The course, however, is language and platform independent.

What you will learn

Day 1

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

Day 2

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


  • 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

Course info

Course code: T100
Duration: 2 days
Price: 19 500 SEK

Course schedule

8th - 9th Nov. 2016 Book now
19th - 20th Dec. 2016 Book now



Related courses

Contact us for details

+46 40 61 70 720

All prices excluding VAT