WORKSHOP – NOV 26 –ย Buy workshop ticket ยปย
๐ก The domain model is the most critical aspect of your application. To reason about it clearly and accurately, it should be free of implementation details. Thatโs why your controllers and adapters should depend on the domainโand not the other way around. To achieve this, you need to map your data classes to your domain, where type class implementations in Kotlin can be particularly helpful.
๐๐ฌ ๐ญ๐ก๐ข๐ฌ ๐๐๐ฌ๐ฒ?
โ๏ธ Perhaps not, but it is simple.
During the workshop you will learn ๐ญ๐ก๐ซ๐๐ ๐ฌ๐ญ๐๐ฉ๐ฌ ๐ญ๐จ ๐๐๐๐๐๐ญ๐ข๐ฏ๐๐ฅ๐ฒ ๐ข๐ฌ๐จ๐ฅ๐๐ญ๐ ๐ฒ๐จ๐ฎ๐ซ ๐๐จ๐ฆ๐๐ข๐ง:
1๏ธโฃ ๐๐จ๐๐ฎ๐ฅ๐๐ซ๐ข๐ณ๐ ๐ฒ๐จ๐ฎ๐ซ ๐๐จ๐ฆ๐๐ข๐ง ๐ฅ๐จ๐ ๐ข๐
Move your domain classes and business logic to a dedicated module free from external dependencies. While other modules can depend on your domain module, they should remain independent, adhering to the principles of hexagonal architecture.
2๏ธโฃ ๐๐๐๐ง๐ญ๐ข๐๐ฒ ๐๐ซ๐๐๐ค๐ข๐ง๐ ๐ฉ๐จ๐ข๐ง๐ญ๐ฌ
Compile your code and observe where issues arise. Typically, repository implementations will face challenges as they no longer have direct access to the business logic. You will learn to resolve this problem, fostering a clean separation of concerns.
3๏ธโฃ ๐๐๐๐จ๐ฎ๐ฉ๐ฅ๐ ๐๐๐ญ๐ ๐ฆ๐จ๐๐๐ฅ๐ฌ
Map your inbound and outbound modules to your domain. Itโs crucial to decouple data transfer models from the domain, particularly in the API and SPI modules. Applying hexagonal architecture allows for a clear boundary, preventing the domain model from leaking outside the application, which significantly improves maintainability and testability.
Why should you attend?
– You’re a software engineer working daily in Java / Kotlin codebases
– You’re interested in concepts like Domain Driven Design, Functional Programming, Single Responsibility Concern etc.
– You are eager to learn new things
Jerre van Veluw is a Software Engineer at Flock. Community. He has worked for clients such as bol.com, ING and DHL where he developed backend web services and UI front-ends.
