HOME > Development > Domain Driven Design

Domain Driven Design

  • Development
  • May 06, 2025
SynopsisDomain Driven Design, available at $19.99, has an average rat...
Domain Driven Design  No.1

Domain Driven Design, available at $19.99, has an average rating of 3.65, with 42 lectures, 1 quizzes, based on 70 reviews, and has 318 subscribers.

You will learn about DDD elements – Value Objects, Entities, Aggregates Practical examples with Golang and PHP How to define Bounded Context and Ubiquitous language of your domain How to simplify their domain to reduce the technical debt This course is ideal for individuals who are Who is looking for how to simplify their domain to reduce the technical debt or Programmers who is looking for theory but also practical usage of DDD It is particularly useful for Who is looking for how to simplify their domain to reduce the technical debt or Programmers who is looking for theory but also practical usage of DDD.

Enroll now: Domain Driven Design

Summary

Title: Domain Driven Design

Price: $19.99

Average Rating: 3.65

Number of Lectures: 42

Number of Quizzes: 1

Number of Published Lectures: 42

Number of Published Quizzes: 1

Number of Curriculum Items: 43

Number of Published Curriculum Objects: 43

Original Price: $19.99

Quality Status: approved

Status: Live

What You Will Learn

  • DDD elements – Value Objects, Entities, Aggregates
  • Practical examples with Golang and PHP
  • How to define Bounded Context and Ubiquitous language of your domain
  • How to simplify their domain to reduce the technical debt
  • Who Should Attend

  • Who is looking for how to simplify their domain to reduce the technical debt
  • Programmers who is looking for theory but also practical usage of DDD
  • Target Audiences

  • Who is looking for how to simplify their domain to reduce the technical debt
  • Programmers who is looking for theory but also practical usage of DDD
  • We will first focus the theory of DDD and understand the essentials.

    There are many examples to grasp the theory. Those are mostly written by Golang.

    Then going to try to create a base for a scalable backend with using PHP. We will separate the app to 3 main parts Application, Domain and Infrastructure. And going to try not to stay tightly coupled to the framework itself but still going to use the all features Symfony is providing us.

    Application layer will be a transition between the outside world to our Domain and going to isolate everything domain related inside our DDD.

    Also will be taking care of authentication with JWT and going to use Symfony Security bundle to maintain the user access definitions to resources.   

    Will be writing Unit tests and use a framework for mocking/stubbing the test doubles.

    In Infrastructure layer we are going to use Doctrine as ORM and try to not to stay tightly coupled to the library but stay as flexible as possible so we can use the same domain logic easily whenever we want with some other library or even with plain SQL queries.

    Since we are going to implement a rest api, we are also going to use an api provider to get the data for our game. To access the api provider we will implement some commands with using Symfony Command component.

    Course Curriculum

    Chapter 1: DDD Introduction

    Lecture 1: How DDD Come To The Stage Of Computer Science and Eric Evans Book

    Chapter 2: Entities, Value Objects, and Aggregates (Golang)

    Lecture 1: Entities

    Lecture 2: Value Objects

    Lecture 3: Aggregates

    Chapter 3: Tools for DDD (Golang)

    Lecture 1: OpenApi Generator to Build Your Api

    Lecture 2: gRPC and Protocol Buffers

    Lecture 3: gRPC example with Golang

    Chapter 4: DDD in PHP

    Lecture 1: Who am I and why you should take this course

    Lecture 2: Essential tools should be installed before starting to the course

    Lecture 3: Project details and API Provider

    Lecture 4: Why do we need to use an ORM and Doctrine setup

    Lecture 5: Complete code from the project

    Lecture 6: How to reach me out

    Lecture 7: Bounded context and ubiquitous language of DDD

    Lecture 8: Model Driven Design

    Chapter 5: Docker

    Lecture 1: Creating Dockerfile to build the Docker image for our app

    Lecture 2: Generating docker-compose and container parameters

    Lecture 3: Running Docker containers with Makefile

    Chapter 6: Preparing development environment

    Lecture 1: Domain Driven Architecture and Folder Structure

    Lecture 2: Doctrine schema definitions

    Chapter 7: Domain Layer and Bounded Context

    Lecture 1: Entity definitions

    Lecture 2: Running Doctrine schema update and creating some fixtures

    Lecture 3: Hexagonal Architecture and some DDD elements

    Chapter 8: Security and JWT

    Lecture 1: Setup for JWT

    Lecture 2: Changing the namespace and installing logger

    Lecture 3: Getting the token and authenticating first user

    Chapter 9: Application and Infrastructure Layer

    Lecture 1: User Registeration

    Lecture 2: Fetch Leagues from Rapid API

    Lecture 3: More into AWS S3

    Lecture 4: Fetch Teams from Rapid API

    Lecture 5: Fetch Games Command

    Lecture 6: Fetch Scores Command

    Chapter 10: More Domain Logic

    Lecture 1: Complete the game

    Lecture 2: Give points to the player

    Lecture 3: List games

    Lecture 4: Make a guess

    Chapter 11: Unit Testing with PHPUnit and Prophecy

    Lecture 1: Unit tests for guess handler

    Lecture 2: Prophecy and using test dammies/stubs/mocks

    Chapter 12: Deployment and version control

    Lecture 1: Github setup and CD/CI with Github actions

    Lecture 2: AWS Code Deploy and Github actions scenario

    Lecture 3: PHP 8 Constructor Property Promotion and Code Coverage

    Lecture 4: Closing and thanks for watching

    Instructors

  • Domain Driven Design  No.2
    Mustafa ?zyurt
    Web Developer/Architect
  • Rating Distribution

  • 1 stars: 7 votes
  • 2 stars: 5 votes
  • 3 stars: 17 votes
  • 4 stars: 19 votes
  • 5 stars: 22 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!