Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation titled "Typical DDDomains in Rails Apps," Andrzej Krzywda explores the implementation of Domain Driven Design (DDD) within Ruby on Rails applications during the wroc_love.rb 2022 conference. The key points discussed include: - **Domain Driven Design (DDD)**: Krzywda emphasizes the relevance of DDD across various project types, highlighting shared concepts among applications in fields such as e-commerce and edutech. - **Common Domains**: He introduces a list of 14 core domains that are prevalent in Rails applications, including pricing, authentication, inventory, and payment systems. He elaborates on the significance of unique business domains contrasted against generic ones. - **Service Objects**: A significant portion of the talk is dedicated to service objects, addressing their naming conventions, structure, and the ongoing debates surrounding their implementation. Krzywda reflects on their utility as a way to connect parameters with commands in applications, posing questions regarding their return values and testing approaches. - **Modularization**: The discussion transitions to the topic of modularization in Rails applications, comparing microservices to engine architecture. Krzywda warns against the assumption that one layer of modularization suffices and advocates a two-layer system comprising application and domain layers. - **Defining Domains**: He asserts that domains function as operations with commands as inputs and events as outputs. With examples of a pricing domain, he illustrates handling commands and raising exceptions efficiently. - **Communication Between Domains**: The necessity for decoupled domains is underscored, suggesting processes that ensure these domains coordinate without excessive coupling. He provides practical scenarios showing that effective synchronization within business operations enhances modularization. - **Read Models and Data Management**: A brief exploration of read models emphasizes that they should remain distinct and uncomplicated, primarily interfacing with applications rather than being intertwined with domains. - **Conclusion and Future Perspectives**: Krzywda concludes with insights on the importance of recognizing domains to facilitate better code organization, reusability, and eventually suggests a forward-thinking approach for future Rails projects. His hope is for increased adoption of DDD principles and development of open-source tools that support recognized domains in applications, ultimately leading to enhanced clarity and compliance in data management, particularly concerning GDPR. Overall, the talk encourages attendees to adopt DDD principles within their Rails applications and stresses the potential benefits of structured modularization over chaotic designs.
Suggest modifications
Cancel