-
Read the slides "Crafting beautiful software". Take notes on terminology, and where these things appear on the blue Hexagon. https://www.slideshare.net/JornOomen/crafting-beautiful-software
-
Google search topic on the terminologies. (example: php, explain command bus) - Also, do a google image search on terminologies too.
-
Read about "Hexagonal Architecture - message-oriented software design" from PHPCon Poland 2015 a. https://www.slideshare.net/matthiasnoback/hexagonal-architecture-messageoriented-software-design-phpcon-poland-2015 b. Watch the presentation too which explains each slide in greater detail: https://vimeo.com/153825261
-
Repeat step #2.
-
After completing all steps above, look here: a. http://blog.sapiensworks.com/post/2016/08/22/DDD-Cqs-Cqrs (Open links in new tab that appears in article) b. http://blog.sapiensworks.com/post/2016/07/14/DDD-Aggregate-Decoded-1 (Follow the link at the end of the article. There are 3 parts to this)
-
Repeat step #4.
-
Read and watch the slide, blog post and video presentation. Blog: http://fideloper.com/hexagonal-architecture Slides: https://speakerdeck.com/fideloper/hexagonal-architecture Video with slides: https://www.youtube.com/watch?v=6SBjKOwVq0o
-
Different reasons to validate http://danielwhittaker.me/2016/04/20/how-to-validate-commands-in-a-cqrs-application/ http://verraes.net/2015/02/form-command-model-validation/
-
Code duplication is not the issue http://verraes.net/2014/08/dry-is-about-knowledge/ http://verraes.net/2014/02/buzzword-free-bounded-contexts/
-
Directory structure? An example, there are many variations of the "Domain, Application, Infrastructure" https://php-and-symfony.matthiasnoback.nl/2017/08/layers-ports-and-adapters-part-3-ports-and-adapters/
Note: CQRS (Command Query Responsibility Segrogation) has nothing to do with Hexagonal Architecture and vice versa. Some people just make use of both.
Read more about CQRS here: http://cqrs.nu/ - http://cqrs.nu/Faq - Google it up, etc.
Pro-tip: Domain model is not the Persistence Model. Say it with me! http://blog.sapiensworks.com/post/2012/04/07/Just-Stop-It!-The-Domain-Model-Is-Not-The-Persistence-Model.aspx