Muutke küpsiste eelistusi

Layered Design for Ruby on Rails Applications: Discover practical design patterns and modern abstractions for maintainable Rails applications 2nd Revised edition [Pehme köide]

  • Formaat: Paperback / softback, 452 pages, kõrgus x laius: 235x191 mm
  • Ilmumisaeg: 29-Dec-2025
  • Kirjastus: Packt Publishing Limited
  • ISBN-10: 1806114232
  • ISBN-13: 9781806114238
  • Formaat: Paperback / softback, 452 pages, kõrgus x laius: 235x191 mm
  • Ilmumisaeg: 29-Dec-2025
  • Kirjastus: Packt Publishing Limited
  • ISBN-10: 1806114232
  • ISBN-13: 9781806114238
Transition from Rails' traditional MVC trio to layered abstractions with state machines, workflows, and AI integrations and evolve your codebase into a flexible, future-ready application Free with your book: DRM-free PDF version + access to Packt's next-gen Reader*

Key Features

Understand Rails architectural patterns, their strengths and limits Organize business logic in Rails apps when the default MVC approach is insufficient Introduce abstractions to integrate and manage AI features effectively Purchase of the print or Kindle book includes a free PDF eBook

Book DescriptionRails accelerates web development with its convention-over-configuration principle and MVC pattern. But as your app grows, that simplicity can turn into tangled complexity, making it harder to maintain and extend. The second edition of Layered Design for Ruby on Rails Applications helps tackle this challenge head on, guiding you toward a more scalable and maintainable architecture. Written by a seasoned software engineer and open source contributor to Ruby on Rails, this updated edition refines the proven techniques from the first edition and introduces timely new topics that reflect todays development challenges. Youll dive deeper into state machines and workflows, learning how to identify, embed, and eventually isolate them for clarity and resilience. Youll also explore the exciting frontier of abstractions in the AI era, treating LLMs as APIs, structuring agent layers, and integrating third-party libraries to keep your AI features organized and testable. By embracing layered abstractions, youll not only reduce complexity but also improve your ability to adapt to change - whether adding new features, scaling systems, or weaving AI capabilities into your applications. By the end of the book, youll be equipped to design clean, extensible, and future-ready Rails applications. *Email sign-up and proof of purchase requiredWhat you will learn

Get to grips with Rails' core components and its request/response cycle See how Rails' convention-over-configuration principle shapes development Explore patterns for flexibility, extensibility, and testability in Rails Identify and refactor Rails anti-patterns for improved maintainability Implement patterns to tame bloated models and messy views Transition from implicit to explicit state machines and workflows Treat LLMs as APIs and extract agent layers for AI-powered features Use third-party libraries and RAG strategies to manage AI context effectively

Who this book is forThis book is for Rails developers who want to manage and master the growing complexity of their applications. Whether youre extending an MVP into a robust system, scaling a monolithic app, or exploring AI-driven features, this book equips you with the design patterns and abstractions to keep your codebase future-proof. A solid understanding of Rails principles is required, and prior experience building Rails apps will help you put these patterns into practice.
Table of Contents

Rails as a Web Application Framework
Active Models and Records
More Adapters, Less Implementations
Rails Anti-Patterns
When Rails Abstractions Are Not Enough
Data Layer Abstractions
State Transitions and Workflows
Handling User Input Outside of Models
Pulling Out the Representation Layer
Authorization Models and Layers
Crafting the Notifications Layer
Better Abstractions for HTML Views
Abstractions in the AI Era
Configuration as a First-Class Application Citizen
Cross-Layers and Off-Layers
Appendix: Gems and Patterns
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.