background image

Workshop on Domain Driven Design

13 Registered Feb, 2019 11:00 AM 2 Days / 16 Hrs

Book Your Seat

About the Trainer:

The instructor has over 25 years of IT industry experience and executed several transformational projects for Fortune 500 customers. He held strategic and technology consulting and implementation roles at well-known organizations like Cisco Systems, Accenture, Wipro and Symantec.

He has Delivered a number of training programs in the areas of RPA, Machine Learning, Agile Scrum, Enterprise Architecture, TOGAF, Solution Architecture, Systems Thinking, Domain Driven Design ,EA, TOGAF, SOA, EAI, etc, to a number of customers in India and abroad. Some of the keys customers are PRGX, Amdocs, Ericsson, HCL, EMC, Xchanging, Syntel, NN Life, Dubai Customs, IBM, Tech Mahindra, L&T Infotech, Intuit, Al-Futtaim, Redim, CGI, Misys, Etisalat, Telecom Fiji Ltd, National Bank of Kuwait and many more.

Description

Overview:

What is Domain Driven Design ?

Domain-driven design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model. The premise of domain-driven design is the following:

  • placing the project's primary focus on the core domain and domain logic;
  • basing complex designs on a model of the domain;
  • initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.

Objectives:

The course is designed to equip participants with both foundational and advanced concepts of software architecture and design using Domain Driven Design approach. Software professionals working on a variety of platforms, tools and technologies come with either limited or one sided view of the software architecture and design concepts. The DDD is all about connecting the implementation to an evolving software model. DDD focuses on the core domain, context and the domain logic. There is a strong emphasis on the collaboration between domain experts and software developers. The two teams will share a common ubiquitous language. Currently, most of the software engineers lack the collaboration and domain language driven approach to software development.

The course is designed to exclusively address the above concerns. The focus of the course is introducing the ideas of Domain Driven Design (DDD) concepts and techniques and applying these ideas to designing and developing software solutions.

Course Contents:

Day 1 : Domain Driven Design Concepts & Principles

  • Today's digital transformation drivers and challenges
  • Aligning business domain with software engineering
  • Role of software design and architecture
  • Overview of software engineering trends
  • Defining a software system and its characteristics
  • Defining solution architecture and design terms
  • Software architecture and design principles
  • Architecture domains, partitioning and strategies
  • Systems thinking, Top-down approach to modeling software
  • Introducing Domain Driven Design approach
  • Domain Driven Design (DDD) concepts and techniques
  • The Business value of DDD for domain stakeholders
  • Challenges of applying DDD practices
  • Strategic domain-driven design for today's businesses
  • Common language for system developers and domain experts
  • Developing context and requirements with DDD approach
  • Review of OOAD, UML and Database principles
  • Hands-on Exercises

Day 2 : Domain Driven Design Techniques and Implementation

  • DDD Terms - Domains, Subdomains, Bounded Context, Ubiquitous Language, Context Maps, etc.
  • Domain Driven Design artifacts - Entities, Services, Repository, Factory, Aggregates, Domain events, etc.
  • DDD Patterns - Domain Entity Pattern, Value Object Pattern, Aggregate Pattern, Factories, Repositories, etc.
  • Dependency Inversion Principle
  • Hexagonal or Ports Adapters
  • Applying DDD to Microservices
  • Designing Microservices application layer and APIs with DDD
  • Layers in DDD Microservices - Application Layers, Domain Model Layer and Infrastructure Layer
  • Dependencies between layers
  • Designing a Microservices domain model
  • DDD Case studies
  • DDD Quiz
  • Hands-on Exercises

Target Audience:

Software Developers and Designers, Software Architects, Application Architects, System Designers, Solution Architects / Solution Designers and Design Leads


Delivery Methodology:

  • Instructor-Led Training
  • Case studies driven approach
  • Hands-on exercises
  • Group discussions and Quiz

Reviews:

"Extraordinary experience to be with such an expert, highly experienced and knowledgeable person. Range of topics and subjects he covered is exceptionally good". - Anitket Yevankar, Project Manager, CompuCom, Pune." (DDD Training)

In-House Training for your Team !!

Know More


Enquire Now




The answer is