Layered Design for Ruby on Rails Applications
By :
Layered Design for Ruby on Rails Applications
By:
Overview of this book
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.
Table of Contents (20 chapters)
Preface
Part 1: Exploring Rails and Its Abstractions
Free Chapter
Chapter 1: Rails as a Web Application Framework
Chapter 2: Active Models and Records
Chapter 3: More Adapters, Less Implementations
Chapter 4: Rails Anti-Patterns?
Chapter 5: When Rails Abstractions Are Not Enough
Part 2: Extracting Layers from Models
Chapter 6: Data Layer Abstractions
Chapter 7: Handling User Input outside of Models
Chapter 8: Pulling Out the Representation Layer
Part 3: Essential Layers for Rails Applications
Chapter 9: Authorization Models and Layers
Chapter 10: Crafting the Notifications Layer
Chapter 11: Better Abstractions for HTML Views
Chapter 12: Configuration as a First-Class Application Citizen
Chapter 13: Cross-Layers and Off-Layers
Index
Gems and Patterns
Customer Reviews