Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications (Paperback)

Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications By Vladimir Dementyev Cover Image

Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications (Paperback)


Available in Warehouse. Wait for Email Confirmation for ETA
This book cannot be returned, cancelled, or exchanged. Please call for availability and pricing

Transition from the traditional Rails model-view-controller trio to an abstraction model and let your application codebase evolve with synchronized components, boosting flexibility and maintainability

Purchase of the print or Kindle book includes a free PDF eBook through the link provided within

Key Features
  • Understand Rails' architectural patterns along with its advantages and disadvantages
  • Organize business logic in Rails apps when the default approach is insufficient
  • Introduce new abstractions to address design problems
Book Description

Ruby on Rails is an open-source framework for building web applications from scratch while focusing on productivity, leveraging the power of the convention-over-configuration principle, and the well-defined model-view-controller pattern, assisting the developers in building useful features. However, this initial simplicity often leads to uncontrollable complexity turning the well-structured codebase into a hardly maintainable mess. This book aims to help you keep the code maintainable while working on a Rails application.

You'll start by exploring the framework capabilities and principles, allowing you to reap the full potential of Rails. Then, you'll tackle many common design problems by discovering useful patterns and abstraction layers. By implementing abstraction and dividing the application into manageable modules, you'll be able to concentrate on specific parts of the app development without getting overwhelmed by the entire codebase. This strategy also encourages code reuse, simplifying the process of adding new features and enhancing the application's capabilities. Additionally, you'll explore further steps in scaling Rails codebase, such as service extractions.

By the end of this book, you'll be a code design specialist with a deep understanding of the Rails framework principles.

What you will learn
  • Discover Rails' core components and its request/response cycle
  • Understand Rails' convention-over-configuration principle and its impact on development
  • Explore patterns for flexibility, extensibility, and testability in Rails
  • Identify and address Rails' anti-patterns for cleaner code
  • Implement design patterns for handling bloated models and messy views
  • Expand from mailers to multi-channel notification deliveries
  • Explore different authorization models and layers
  • Use a class-based approach to configuration in Rails
Who this book is for

This book is for Rails application developers facing challenges in managing the growing complexity of their projects. It offers practical strategies for maintaining code readability and manageability, providing valuable guidance for developers at all levels. Whether you've recently launched your first Rails minimum viable product or are struggling to progress with a sizable monolithic application, this book is here to help. A deep understanding of core Rails principles is a must. Some experience in building web applications using the Rails framework will enhance your comprehension and application of the concepts presented in the book.

Table of Contents
  1. Rails as a Web Application Framework
  2. Active Models and Records
  3. More Adapters, Less Implementations
  4. Rails Anti-Patterns?
  5. When Rails Abstractions Are Not Enough
  6. Data Layer Abstractions
  7. Handling User Input outside of Models
  8. Pulling Out the Representation Layer
  9. Authorization Models and Layers
  10. Crafting the Notifications Layer
  11. Better Abstractions for HTML Views
  12. Configuration as a First-Class Application Citizen
  13. Cross-Layers and Off-Layers
Product Details ISBN: 9781801813785
ISBN-10: 1801813787
Publisher: Packt Publishing
Publication Date: August 30th, 2023
Pages: 298
Language: English