Get an improved navigation experience with a Chrominium based browser.
Dismiss
Ruby Video
Talks
Speakers
Events
Leaderboard
Sign in
Talks
Speakers
Events
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summary
Markdown supported
In this video, Benjamin Roth presents a comprehensive overview of structuring and chaining service objects within the Ruby programming community during the RubyDay 2016 event. His talk emphasizes the importance of service objects in encapsulating business logic, highlighting their utility for making applications modular and maintainable. The main themes and key points discussed include: - **Definition and Purpose of Service Objects**: - Service objects encapsulate logic and express business operations independent of frameworks. - They serve as a clear representation of application actions, such as user creation, and help manage related tasks like validations and callbacks. - **Best Practices for Naming**: - Naming conventions should focus on verbs to indicate actions; minimizing public methods simplifies service object interactions. - **Reusability and Structure**: - Service objects should be designed for reusability, functioning seamlessly in various application contexts. - Different approaches to structuring service objects were presented, including class-based and instance-based triggers. - **Handling Success and Failure**: - Strategies discussed include using booleans for outcomes, exception handling, and event broadcasting. - He emphasizes error management as a critical aspect of service object design. - **Implementation Techniques**: - Examples include the use of libraries like Whisper for event management and the application of monads for success and failure handling. - **Chaining Service Objects**: - Proper chaining of service objects aids in efficient error tracking and ensures clarity within application logic. - **Conclusion and Importance of Service Objects**: - Roth concludes that thoughtful implementation of service objects enhances application architecture, encourages isolated business logic, and facilitates better maintenance practices. The talk effectively advocates for using service objects to streamline software design, making complex applications more manageable. Roth invites further discussion, emphasizing the significance of dependency injection, event handling best practices, and modular design in programming workflows.
Suggest modifications
Cancel