Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications
Transition from the traditional Rails MVC trio to an abstraction model and evolve your application codebase with synchronized components, boosting flexibility and maintainability

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
  • Purchase of the print or Kindle book includes a free PDF eBook

Book Description

The Ruby on Rails framework boosts productivity by leveraging the convention-over-configuration principle and model-view-controller (MVC) pattern, enabling developers to build features efficiently. This initial simplicity often leads to complexity, making a well-structured codebase difficult to maintain. Written by a seasoned software engineer and award-winning contributor to many other open-source projects, including Ruby on Rails and Ruby, this book will help you keep your code maintainable while working on a Rails app. You’ll get to grips with the framework’s capabilities and principles to harness the full potential of Rails, and 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 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 become a code design specialist with a deep understanding of the Rails framework principles.

What you will learn

  • Get to grips with Rails' core components and its request/response cycle
  • See how Rails' convention-over-configuration principle affects development
  • Explore patterns for software 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
  • Introduce different authorization models and layers to your codebase
  • Take a class-based approach to configuration in Rails

Who this book is for

This book is for Rails application developers looking to efficiently manage the growing complexity of their projects. 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. Prior experience in building web apps using the Rails framework will help you understand and apply the concepts in the book in a better way.

1143860173
Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications
Transition from the traditional Rails MVC trio to an abstraction model and evolve your application codebase with synchronized components, boosting flexibility and maintainability

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
  • Purchase of the print or Kindle book includes a free PDF eBook

Book Description

The Ruby on Rails framework boosts productivity by leveraging the convention-over-configuration principle and model-view-controller (MVC) pattern, enabling developers to build features efficiently. This initial simplicity often leads to complexity, making a well-structured codebase difficult to maintain. Written by a seasoned software engineer and award-winning contributor to many other open-source projects, including Ruby on Rails and Ruby, this book will help you keep your code maintainable while working on a Rails app. You’ll get to grips with the framework’s capabilities and principles to harness the full potential of Rails, and 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 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 become a code design specialist with a deep understanding of the Rails framework principles.

What you will learn

  • Get to grips with Rails' core components and its request/response cycle
  • See how Rails' convention-over-configuration principle affects development
  • Explore patterns for software 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
  • Introduce different authorization models and layers to your codebase
  • Take a class-based approach to configuration in Rails

Who this book is for

This book is for Rails application developers looking to efficiently manage the growing complexity of their projects. 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. Prior experience in building web apps using the Rails framework will help you understand and apply the concepts in the book in a better way.

49.99 In Stock
Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications

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

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

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

by Vladimir Dementyev

Paperback

$49.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

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

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
  • Purchase of the print or Kindle book includes a free PDF eBook

Book Description

The Ruby on Rails framework boosts productivity by leveraging the convention-over-configuration principle and model-view-controller (MVC) pattern, enabling developers to build features efficiently. This initial simplicity often leads to complexity, making a well-structured codebase difficult to maintain. Written by a seasoned software engineer and award-winning contributor to many other open-source projects, including Ruby on Rails and Ruby, this book will help you keep your code maintainable while working on a Rails app. You’ll get to grips with the framework’s capabilities and principles to harness the full potential of Rails, and 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 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 become a code design specialist with a deep understanding of the Rails framework principles.

What you will learn

  • Get to grips with Rails' core components and its request/response cycle
  • See how Rails' convention-over-configuration principle affects development
  • Explore patterns for software 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
  • Introduce different authorization models and layers to your codebase
  • Take a class-based approach to configuration in Rails

Who this book is for

This book is for Rails application developers looking to efficiently manage the growing complexity of their projects. 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. Prior experience in building web apps using the Rails framework will help you understand and apply the concepts in the book in a better way.


Product Details

ISBN-13: 9781801813785
Publisher: Packt Publishing
Publication date: 08/30/2023
Pages: 298
Product dimensions: 7.50(w) x 9.25(h) x 0.62(d)

About the Author

Vladimir Dementyev has been working on web applications for more than 10 years and launched his first Ruby on Rails project back in 2014. Since then, he has been working on a dozen of Rails web applications, used by hundreds of millions of customers, monolithic or component-based, following the Rails way or trying to swim against the current. He has been an active member of Rails open-source community since 2015, becoming a regular Rails contributor, a RailsConf speaker, and the author of dozens of gems, including AnyCable, TestProf, and Action Policy to name a few. For his work on the Ruby Next project, the author got the Fukuoka Ruby Award for outstanding performance in 2021. Currently, he's leading the backend developers' team at Evil Martians, helping dozens of web projects around the world build better software.

Table of Contents

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
From the B&N Reads Blog

Customer Reviews