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

Pre-requisites

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

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

Course info

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

Course schedule

Göteborg
13th Feb. 2017 Book now
6th Apr. 2017 Book now
25th May. 2017 Book now
Malmö
13th Feb. 2017 Book now
6th Apr. 2017 Book now
25th May. 2017 Book now
Oslo
23rd Mar. 2017 Book now
Stockholm
9th Feb. 2017 Book now
13th Feb. 2017 Book now
6th Apr. 2017 Book now
20th Apr. 2017 Book now
25th May. 2017 Book now

Teachers

Share

Related courses

Contact us for details

+46 40 61 70 720
info@edument.se


All prices excluding VAT