Email the Author
You can use this page to email Md. Mojammel Haque about Domain Driven Design Visual Notebook.
About the Book
From the very beginning of my career I am involved with business application development. Now I enjoy business application development with fascination - this fascination movated me to develop more skills on this secton. As part of skill development I started reading different books like-
1. Agile Prinicples, Patterns and Practices by Uncle Bob
2. Clean Code by Uncle Bob
3. Design Patterns: Elements of Reusable Object Oriented Software by Gang of Four
4. Refactoring by Martin Fowler
5. Refactoring to Patterns by Joshua Kerievsky
6. The pragmatic Programmers by Andrew Hunt, David Thomas
Also I emphasized on learning Test First development and Scrum framework of Agile and became Certified Scrum Professional from Scrum Alliance.
But still there is an incompleteness- I can't account for it - there is a gap.
Finally started learning Domain Driven Design to fill that gap and found it's very complex. As I am not good at english I failed again and again. After reading for a while, I get bored, stop, start again and stop again. Anyhow I failed to grow the idea about DDD. Then Vaughn Vernons Green book came in market - I collected that book and read from start to end. That gave me some idea about strategic and tactical patterns of Domain Driven Design.
I also taken some video courses of Eric Evans, Vaughn Vernon, Julie Learmen, Steve Smith (Ardalis), Vladimir Khorikov etc.
Finally the books that gave me a deeper insight about Domain Driven Design is "Patterns, Principles and Practices of Domain Driven Design" by Scott Millet and Nick Tune and Learning Domain Driven Design by Vladik Khononov. Also EventStorming of Albarto Brandolini save my life- it's an excellent process of domain discover, domain decomposition, domain distillation and identifying contexts and their boundaries. I read both "Introducing EventStorming" by Albarto Brandolini and "Event Storming Handbook" by Paul Rayner and still learning about EventStorming. I am not saying I learned Domain Driven Design very well- still I am a learner - and it's a continuous learning process.
From my struggling of Domain Driven Design learning - I realized that if there any good easy and simple note book exists for beginners then that will very helpful for them to grasp the core concepts of Domain Driven Design and later will deep dive into advanced books like-
"Domain Driven Design: Tackling complexity in the heart of software" by Eric Evans and/or "Implementing Domain-Driven Design: Vaughn Vernon" or other writers large books and from that intention I started writing this notebook.
This book is not like tradition other books with containing huge amount of texts and readers get bored to read hundred or thousad lines of text to grasp a single concept. Instead I used less texts and more metaphor so that readers can easily read and digest them . That's why I am not calling it a book- instead I will call it notebook .
Wishing everyone have a nice journey with Domain Driven Design. My special thanks to-
Eric Evans, Vaughn Vernon, Scott Millet, Nick Tune, Julie Lerman, Steve Smith, Vladimir Khorikov, Vlad Khononov, Alberto Brandolini, Paul Rayner for their books and videos those helping me in my journey of learning Domain Driven Design.
Also thanks to all my colleagues, friends and seniors like Topu Newaj, Zohirul Alam Tiemoon, Shahriar Iqbal Chowdhury, Ariful Haque, Shamim Hassan, Omar Faruq, Shuvo Sarkar, SM Shahidullah, Rabbiul Islam, Obaidur Rahman, Rubol Chowdhury, S H Rasel, M I Munna, A R Khan etc. for motivating me during the journey of my software engineering and helping me in different ways. I am really grateful to all them for their cooperation and contribution.
About the Author
Passionate software engineer with more than 15 years of software development experience in using different .NET technologies like ASP.NET MVC, ASP.NET Web API, ASP.NET Web Forms, C#, Entity Framework, SQL Server, Unity IOC etc.
Has a depth knowledge of Agile methodology, Scrum Framework, Object Oriented Analysis & Design, Domain Driven Design, Unit Testing, Acceptance Testing, Integration Testing, GOF Design Patterns, Enterprise Patterns & Refactoring of existing code.
He has successfully completed Certified ScrumMaster® (CSM), Certified Scrum Product Owner® (CSPO), and Certified Scrum Developer® (CSD), Certified Scrum Professional-Product Owner® (CSP-PO), Certified Scrum Professional-ScrumMaster® (CSP-SM) certifications from Scrum Alliance Inc.