Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By Adam Hawkins Rails applications come together quickly in the beginning. Drop all these gems in and voila! Overtime test slow down and the productivity is gone. Have you ever questioned why? The framework was used incorrectly. Rails is not your application. It's a delivery mechanism. This talk is about leveraging different design patterns, roles, and boundaries to implement the business logic before even thinking about rails new. Help us caption & translate this video! http://amara.org/v/FGZy/
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 workshop titled "Applications First, Frameworks Second: Better Systems through Design," Adam Hawkins presents a detailed approach to designing Ruby on Rails applications with an emphasis on maintaining separation of concerns and applying design patterns. The session addresses the common pitfalls experienced when using Rails, emphasizing that the framework should act as a delivery mechanism rather than dictate application architecture. Key points discussed include: - **Introduction to the Workshop:** Hawkins highlights the importance of understanding business logic and proper application structure before engaging with Rails. The workshop is based on his previous writings, particularly on hexagonal design and domain-driven design. - **Concepts of Design Patterns:** The workshop introduces several design patterns including service objects (also referred to as use cases), form objects, and the repository pattern. These patterns help organize the business logic behind the application, allowing for greater flexibility and maintainability. - **TDD Approach:** Throughout the workshop, a test-driven development (TDD) approach is reinforced, where small tests are written to guide the development of the application, ensuring that the underlying logic is solid before implementing it into the Rails framework. - **Incremental Steps:** The session is structured into small, manageable steps that build upon each other, each introducing new concepts while encouraging participants to interact and solve problems collaboratively. - **Use Case Examples:** Hawkins discusses practical examples such as a simplified post object to illustrate how complex business logic can be cleanly handled using the discussed patterns. Examples of validation handling and error management are also provided to reinforce the design principles. - **Connecting to Rails:** Towards the end of the workshop, Hawkins explains how to integrate the application design principles into the Rails framework, showcasing how to use Rails as a delivery mechanism rather than allowing it to drive the design. In conclusion, Hawkins emphasizes that developers should focus on the application's core logic and structure before implementing frameworks like Rails. By following the patterns and processes outlined, developers can create more robust and maintainable systems. The key takeaway is that thoughtful design and proper application architecture can significantly enhance the development process, reduce errors, and increase productivity in Rails applications.
Suggest modifications
Cancel