Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Layered Design for Ruby on Rails Applications
  • Table Of Contents Toc
  • Feedback & Rating feedback
Layered Design for Ruby on Rails Applications

Layered Design for Ruby on Rails Applications

By : Vladimir Dementyev
4.7 (16)
close
close
Layered Design for Ruby on Rails Applications

Layered Design for Ruby on Rails Applications

4.7 (16)
By: Vladimir Dementyev

Overview of this book

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.
Table of Contents (20 chapters)
close
close
1
Part 1: Exploring Rails and Its Abstractions
7
Part 2: Extracting Layers from Models
11
Part 3: Essential Layers for Rails Applications
17
Index
18
Gems and Patterns

Seeking God objects

Active Record is the largest part of Rails; its code base contains twice as many files (over 1,000) and lines of code (over 100,000) as the second largest, which is Action Pack. With that amount of machinery under the hood, it provides dozens of APIs for developers to use in their applications. As a result, models inherited from Active Record tend to carry many responsibilities, which we were trying to enumerate in the previous sections of this chapter. Such over-responsible Ruby classes are usually referred to as God objects.

From the code perspective, a lot of responsibility means a lot of lines of source code. The number of lines itself can’t be considered an indicator of unhealthy code. We need better metrics to identify good candidates for refactoring in our code base. The combination of churn and complexity has been proven to be such indicators.

Churn describes how often a given file has been modified. A high change rate could indicate a code...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY