Domain Driven Design (DDD) для начинающих
What you'll learn
- Проектирование программных систем с применением подхода DDD
Requirements
- Базовый уровень проектирования ПО
Description
Курс посвящен обзору таких вопросов, как:
понимать, как инструменты DDD помогают реализовать сложные Enterprise-системы;
уметь применять стратегическое мышление при построении Enterprise-систем;
уметь применять тактическое моделирование в рамках отдельного Bounded Context;
уметь эффективно моделировать агрегаты;
понимать важность доменных событий и возможность их использования при интеграции с другими Bounded Contexts.
Во время обучения слушатели узнают, как Domain Driven Design (DDD) помогает в построении Enterprise-систем со сложной бизнес-логикой, проанализируют стратегические (Bounded Contexts) и тактические (Aggregates) подходы к реализации систем и рассмотрят Enterprise-архитектуры, которые могут успешно применяться вместе с DDD.
Много времени уделяется рассмотрению практических примеров , что даёт возможность участникам закрепить полученные знания применения стратегического дизайна и тактического моделирования.
В рамках курса доклада мы выясним, что такое DDD, какие задачи он призван решить и поговорим о факторах, которые приводят нас к использованию этого подхода. На примере проектирования реальной системы мы будем шаг за шагом разбираться в концепциях и элементах DDD, получая на выходе комплексные знания для того, чтобы начать использование DDD в вашем проекте.
Целевая аудитория
Разработчики разных уровней, которые обладают знаниями ООП- и ООД-принципов, а также базовыми знаниями архитектурных паттернов.
The course is devoted to an overview of such issues as:
understand how DDD tools help implement complex Enterprise systems;
be able to apply strategic thinking when building Enterprise systems;
be able to apply tactical modeling within a separate Bounded Context;
be able to efficiently model aggregates;
understand the importance of domain events and the possibility of using them when integrating with other Bounded Contexts.
During the training, students will learn how Domain Driven Design (DDD) helps in building Enterprise systems with complex business logic, analyze strategic (Bounded Contexts) and tactical (Aggregates) approaches to the implementation of systems and consider Enterprise architectures that can be successfully applied. along with DDD.
Much time is devoted to considering practical examples, which gives the participants an opportunity to consolidate their knowledge of the use of strategic design and tactical modeling.
As part of the course of the report, we will find out what DDD is, what problems it is designed to solve and talk about the factors that lead us to use this approach. Using the example of designing a real system, we will understand the concepts and elements of DDD step by step, gaining complex knowledge at the output in order to start using DDD in your project.
Developers of various levels who have knowledge of OOP and OOD principles, as well as basic knowledge of architectural patterns.
Who this course is for:
- Начинающие разработчики программного обеспечения
Instructor
About me
Professional full-stack developer of IT and web products. I develop in PHP, Go, JavaScript, SQL. I have extensive experience in the role of developer, project and product management.
About my experience
More than 15 years of web and IT product development. I create e-commerce products, websites, web portals, business tools, CRM and ERP systems. I develop products at all stages of the life cycle - from concept to launch and operation. I participate in projects as a full-stack developer, product and project manager, team lead and head of the development department. Extensive experience in building software architecture. I am engaged in my own projects, share my experience, teach the art of developing and creating web products. Great experience in teaching for a web audience, I write my own courses.
Contacts
I would be grateful for your feedback on my lessons, videos and articles. Join me on social networks. Channels are dedicated to architecture, methodologies, and software development tools. Analysis of code standards, language features, best practices, review of libraries, theory and practice.
Good luck to everyone, friends! Alex Versus.