Domain Driven Design

Domain Driven Design with theory and practical real world example

4.05 (69 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
Domain Driven Design
310
students
3.5 hours
content
Nov 2023
last update
$19.99
regular price

What you will learn

DDD elements - Value Objects, Entities, Aggregates

Hexagonal architecture - Encapsulating all domain logic inside higher level while being flexible in low level implementations inside infrastructure layer.

How to define Bounded Context and ubiquitous language of your domain

How to use PHP8 and Symfony in professional level

Why take this course?

We will first focus the theory of DDD and understand the essentials.

Then going to try to create a base for a scalable backend with using Symfony Framework version 5. 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.

Reviews

Paweł
December 11, 2022
The course is very weak. The instructor pastes a lot of code from the outside, makes a lot of mistakes because he does not create the application in the right order. Declares objects in code he haven't written yet. The DDD pattern itself is also quite poorly represented, and it's really debatable whether the Instructor represents it well.
Petyo
October 6, 2022
Huge part of the code has been implemented behind the scenes and the teacher mentions it as if he did it on screen. Very difficult to listen to him since he sounds like he is about to fall asleep all the time. Don't waste your money on this course.
Daniel
September 1, 2022
The most important parts of the codebase have been implemented behind the scenes, and there is little or even worst no explanation at all about the logic. Doesn't deserve even one euro to purchase this course.
Szymon
January 9, 2022
This course is good, but I expected so much more from it. Overall I liked it, but something is missing.
Oscar
January 1, 2022
- Poor explanations or doubtful in some sections. - Sometimes I had to raise the volume up in order to hear what he was saying.
Dominik
October 30, 2021
The tutor may know his field. But he is not good at teaching at all. Hard to follow what happens on the screen when he's programming - everything is very small. At some point the "background" music was very loud. There is no actual course material. He don't explain some of the steps he is taking. And so on. For a hundred-something-something Dollar course, that's not enough Sorry dude, I can't recommend.
Piotr
September 28, 2021
In my opinion this cource is good, but I thought is more advanced before I bought one. The audio quality is low you can add text in English.
Camilo
September 18, 2021
I think that is a very useful course, but I do not recommend the course as a first attempt to learn about REST Apis in Symfony. I want to give some criticisms/suggestions (sorry about my English): The course does not have a git repository of each chapter or access to files related with each chapter. Then instead of being learning about REST API or even DDD, I found me focusing my attention and learning process in writing yml or docker files, or writing dozens getters and setters or several controllers, avoiding mistakes related. From my ignorance of learning processes, I think that this is a huge distraction of the main topic/s of the course. Also, I found me searching if exist any repository over internet because there is no reference in course content (by accident I found a comment where someone asks/suggest teacher about the repo). I have study several Udemy courses and I believe that is my first time that I found a programming course without files or git repository. Another thing. I have finished section 4 (third part of whole course according Udemy widget status) and I am still no seeing topics about REST API on Symfony. In addition, seems that Api REST topic starts with JWT (section 5), and if I understand well JWT is a security layer after API Rest is established. I disagree about orders of topics of the learning path (and I am not sure if exist DDD for education (I am not a DDD, Symfony or Education expert), but maybe to apply DDD to teaching path/process will give us idea about not to define a teaching/learning path/process according your Symfony implementation path). Another comment is about the quality of the videos. Only 720p. Sometimes I need to look closer to see clearly or stop videos to see carefully. Some other criticisms/suggestions: I think that is a Very important thing: To change course prerequisites (currently is: "Basic knowledge with PHP would be good, so we can cover a lot with Symfony and best practices of REST"), because students must have experience with Symfony. In videos you are focused explaining DDD and using Symfony, and not explaining thoroughly Symfony components (or ecosystem) like Symfony cli, doctrine, fixtures, directories architecture, etc., and also you use things already made like schemas or security.yaml definition that requires detailed explanation in context of Symfony if you only have basics of PHP. In addition, I believe that to teach REST API on Symfony and also DDD, PHP Unit, AWS, CD/CI gives huge extra complexity, so this is not for someone with basic PHP. Implement quizzes, I think that quizzes give to the student the idea about the main topics to focus the attention, and give feedback about how is going with this learning process. Subtitles, because the whole world of students in Udemy does not understand English very well, and automatic subtitles gives incorrect phrases or words as you are saying, maybe because there are some noise behind your voice in some videos (like in "Set Up for JWT" video, from minute 3). Saying that, the teacher is giving us an interesting and practical idea about DDD and explaining decision or architecture or design according to this, thanks a lot for that! (seems that the DDD complexity is now lesser 'scary'). Also, I think that the example was well chosen, and is clear that there is a learning path defined/established (although was already said, I disagree about milestones order of this path). Seems that this is the second course of the teacher in Udemy. To prepare educational material and teach is and very hard/important process, so for that I understand that is a loop/recursive process, so any issue/glitch is a thing being improved or is under construction/discussion. Those were my current comments about the course.
İdris
August 16, 2021
Everything is clear in this course but it is need some update. Because some functions or modules are deprecated. If this course gets update, it provide a lot of knowledge for registered student.
Metin
August 8, 2021
When I was going to reshape our project with a more covered design pattern, this tutorial helped us a lot. Rock solid explanation with well considered details. Looking forward to next episodes from the instructor :)
Liudmyla
July 4, 2021
So far the best course on PHP I’ve ever listened to. Everything is explained very clearly and in details. After the course I feel more confident and comfortable working with REST API. My code quality became better as well. Looking forward to listening more courses from the instructor. Complex things made simple :)
Kati
March 10, 2021
This course gives a good example on how to apply Domain-Driven Design in PHP. However, if you do not have any theoretical knowledge about PHP, AWS, Symfony or DDD the course might be a little to hard. Some technical details were not properly explained, e.g. how to setup an AWS account or how to connect to the RapidAPI service. While the final result is very beautiful code, it takes a few videos to fully grasp the concept. It would have been helpful to have the full final code repository available. Since I was typing along and repeating all the steps, there sometimes were errors that took unnecessarily long to fix. Nevertheless, I enjoyed this course very much and think that this is a good first course by this instructor.

Charts

Price

Domain Driven Design - Price chart

Rating

Domain Driven Design - Ratings chart

Enrollment distribution

Domain Driven Design - Distribution chart
3793508
udemy ID
1/22/2021
course created date
2/8/2021
course indexed date
Bot
course submited by