Shop top categories that ship internationally
$32.68 with 35 percent savings
List Price: $49.99
The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE International Returns
No Import Charges & $10.42 Shipping to Japan Details

Shipping & Fee Details

Price $32.68
AmazonGlobal Shipping $10.42
Estimated Import Charges $0.00
Total $43.10

DeliveryWednesday, April 9. Order within23 hrs 26 mins
Or fastest deliveryApril 7 - 8
In Stock
$$32.68 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$32.68
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others.Learn more
Added to
Unable to add item to List. Please try again.

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Other sellers on Amazon
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer -no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

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

Sorry, there was a problem loading this page. Try again.

{"desktop_buybox_group_1":[{"displayPrice":"$32.68","priceAmount":32.68,"currencySymbol":"$","integerValue":"32","decimalSeparator":".","fractionalValue":"68","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"Wk4V7Y5VneCJpQRcuBgfNojBrj6ETBa30MOzw1txW1tYQZgvamP2kj5xRv79kJ9GpoPS2MsaeIHnFrlCGyOfVo8ss%2FPqMb%2BXUut8wse61XudosFKOdvpxMhe5DnEGFZQQNDtFMEi%2Bl%2BTyDY32tWFJA%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

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.

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
  1. ISBN-10
    1801813787
  2. ISBN-13
    978-1801813785
  3. Publisher
    Packt Publishing
  4. Publication date
    August 30, 2023
  5. Language
    English
  6. Dimensions
    0.67 x 7.5 x 9.25 inches
  7. Print length
    298 pages

Frequently bought together

Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications
This item: Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications
$32.68
In Stock
Ships from and sold by Amazon.com.
+
Practical Object-Oriented Design: An Agile Primer Using Ruby
$48.50
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Try again!
Details
Added to Cart
spCSRF_Treatment
Choose items to buy together.

From the Publisher

B17858 - top cover
B17858  - 1

What makes this book stand out among other Ruby on Rails learning resources?

This book offers practical solutions to real-world Rails application complexity issues, based on the author's extensive experience with successful projects. It goes beyond basic Rails principles, focusing on maintaining code health as applications grow.

The content covers advanced topics like organizing business logic, designing common features, and leveraging architectural patterns inherent to Rails. It provides concrete solutions to design problems not widely published elsewhere.

The author's deep understanding of Rails' design philosophy allows readers to fully harness the framework's power. The book aims to help developers keep their Rails applications maintainable and approachable, even as they scale and become more complex.

By addressing these challenges, the book fills a gap in the market for intermediate to advanced Rails developers seeking to improve their architectural and design skills.

Key Takeaways:

B17858 - 3.1

B17858 - 3.2

B17858 - 3.3

B17858 - bottom banner

Editorial Reviews

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.

Product details

  • Publisher ‏ : ‎Packt Publishing (August 30, 2023)
  • Language ‏ : ‎English
  • Paperback ‏ : ‎298 pages
  • ISBN-10 ‏ : ‎1801813787
  • ISBN-13 ‏ : ‎978-1801813785
  • Item Weight ‏ : ‎1.14 pounds
  • Dimensions ‏ : ‎0.67 x 7.5 x 9.25 inches
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Videos

Help others learn more about this product by uploading a video!
Upload your video

About the author

Follow authors to get new release updates, plus improved recommendations.
Vladimir Dementyev
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Vladimir Dementyev is a principal backend engineer at Evil Martians, a product development consultancy from Earth, focusing on building maintainable web applications and developers’ productivity. During his day job, he helped many businesses to ship high-quality products, including Fountain, Zipline, Playbook, and Coveralls, to name a few.

Vladimir is a creator of popular open-source tools, such as AnyCable and TestProf, and a contributor to many other open-source projects, including Ruby on Rails and Ruby itself. Vladimir plays an active role in the Ruby community through his code contributions and by speaking at conferencing and sharing his passion for coding via articles and blog posts. For his contributions to the Ruby ecosystem, Vladimir has been awarded Fukuoka Ruby Award in 2021 and Ruby Hero Russia Award in 2017.

Customer reviews

4.8 out of 5 stars
47 global ratings

Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.

To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.

Learn more how customers reviews work on Amazon

Review this product

Share your thoughts with other customers
Customer image
5.0 out of 5 stars

Images in this review
Formatting of code blocks is screwed
1 out of 5 stars
Formatting of code blocks is screwed
Almost every code block is randomly missing new lines. Packt's support doesn't understand the problem.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

There was a problem filtering reviews. Please reload the page.

  • Reviewed in the United States on September 4, 2023
    As someone who has been writing Ruby on Rails code for over 15 years, I can honestly say that this book by Vladimir Dementyev is a treasure trove of insights for seasoned developers. This book delves deep into the intricate layers of Rails, offering a sophisticated understanding that goes beyond the basics. Whether it's tackling the nuances of Active Record or discussing complex layered architectures, the book makes you rethink and refine your approach to Rails development. One of my favorite parts was the chapter on authorization models; it provided me with a comprehensive look at something so essential, yet often overlooked. But the book doesn't stop at just offering advice; it also encourages you to experiment and find your own best practices. For those of us dealing with mature, more complex systems, this book is a godsend. It's not just another Rails book; it's an investment in mastering your craft.
    4 people found this helpful
    Report
  • Reviewed in the United States on August 31, 2023
    I loved this book, and found it very timely given the many questions and opinions I've seen in the community over the past couple years, about how to grow Rails applications beyond what the framework gives you out-of-the-box.

    As an overarching concept, Vladimir lays out a compelling vision for an "Extended Rails Way" that first guides us on how to use the baked-in abstractions well, and then helps us imagine how we could extract new abstraction layers that really feel like they could be Rails.

    The book helped me see how I could turn design patterns into new, cohesive abstractions that rhyme with Rails, creating more harmonious codebases with reduced cognitive burden.

    Vladimir provides clear perspective and helpful recommendations around some of Rails' most contentious features, including callbacks and concerns.

    Throughout the book, there's a repeated pattern of showing less-than-ideal examples, and then reasoning our way into one or more improved solutions. I found observing his thinking here to be really informative and helpful.

    I was impressed by how comprehensive the book is, covering all the topics you'd expect, like Active Record and Active Storage, plus those you might not expect, like filter objects, notifications, view components, and even configuration and logging.

    Long story short, this is now one of two Rails books I'll be recommending that all Rails devs read.
    5 people found this helpful
    Report
  • Reviewed in the United States on September 6, 2023
    This isn't a book for beginning Rails developers, but for those who already know the framework and have worked in with it for awhile, this book is a great resource for leveling up. It covers not only the Rails way, but it also describes how to grow large applications sensibly once the basic Rails abstractions are no longer enough. It gives examples of different patterns and abstractions as well as how to evaluate whether or not they are a good fit for your application. I appreciate this nuanced approach, because every application is different and there are tradeoffs to everything.

    The book also covers several Rails antipatterns and discusses common Rails concepts such as thin controller/fat model and where those ideas can lead to problems in large applications. Additionally every chapter ends with thoughtful questions for the reader and exercises to illustrate the points raised in the chapter. Many also include a list of resources for further reading on the topic. To get the most out of the book you'll want to clone the associated repository and work through the questions and exercises.

    This is an incredible resource for those looking to take their Rails development practices to the next level, with great advice on dealing with the complexities that come with larger applications.
    4 people found this helpful
    Report
  • Reviewed in the United States on October 11, 2023
    This is a great read for intermediate Ruby on Rails developers and software engineers in general. The book provides clear and easy-to-follow examples. Many of the examples only require a slightly higher level of understanding beyond beginner-level Rails knowledge, making it accessible to a wide audience.

    One aspect I appreciate is that the design principles taught in this book can be applied to other languages and frameworks. For instance, Chapter 9 discusses various authorization models, which I found very helpful. Many other software engineering books either skim over how to implement authorization or provide overly simplistic examples.

    If you're a language-agnostic programmer, like me, who knows Ruby on Rails, you'll find this book to be incredibly valuable.
    One person found this helpful
    Report
  • Reviewed in the United States on September 12, 2023
    This book is mostly geared towards intermediate to senior-level Rails engineers, but more junior-level folks can still benefit from the information contained therein.

    The first several chapters are an overview of how Rails works which are essential for any engineer who wants to get the most out of Rails. The rest of the book are a collection of different design patterns that someone could employ to make an existing application easy to reason about.

    I wouldn't recommend starting with these advanced design patterns or else you run the risk of over-engineering and introducing too much complexity unnecessarily, but if you've got an existing app that's starting to look a little crufty, these patterns can help you to abstract away the cruft in more convention-y way.

    The content of the book is great. It's easy to read and follow. A bit dry at times (but what technical resource isn't dry?).
    One person found this helpful
    Report

Top reviews from other countries

  • Ljubomir M.
    5.0 out of 5 starsA solid Rails book
    Reviewed in Germany on October 15, 2023
    I just love reading an up to date rails book with valuable insight from a seasoned dev. I’ve really enjoyed this one. Layered design should be the new rails way.