This is a quick crash course to Domain Driven Design for anyone looking to learn about this amazing way of thinking.
The course is based on a collection of books and material based on Domain Driven Design (DDD) and explains the concepts, jargon, methodologies and best practices behind it.
A business use case is also included with applied Domain Driven Design (DDD) concepts. This course is theoretical and does not go into coding and implementation.
What you’ll learn:
Are there any course requirements or prerequisites?
Basic understanding of software architecture and software engineering, although this is beginner-friendly
Who this course is for:
Anyone looking to learn about Domain Driven Design
What's it all about?
Domain driven design or DDD is a way of thinking that is tailored to help deliver quality software in a way that is focussed on the business goals. The main idea of DDD is it involve Subject Matter Experts from the business side, including business people, analysts and also includes technical people: architects, developers and engineers to build something that reflects true business principles and concepts. Its purpose is to portray a knowledge-rich design that extracts the meaning behind objects, validations, relationships and every bit of the business that the system is there to support. The great thing about DDD is that it's iterative, so you have a constant feedback loop between the people working on the project.
DDD is situational, during the project lifecycle you may realise that the model is turning out to be more CRUD, less DDD. It might make sense for the system or app to be this way, but it really depends on the business and client requirements. If the system lacks complexity and will not change over time you probably won't need to use DDD, since bounded contexts may produce unnecessary complexity. Remember, that in the end, you're always trying to solve a specific business problem.
Experienced (9+ years) working in solution design, system requirement formalization in financial service systems.
Solution design based on both private and public sectors, focused on the business requirements and taking a business-driven approach. Worked with multicultural teams in different settings and countries. System industries included payments, accounting, banking, government and finance systems.