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

Dementyev, Vladimir

  • 出版商: Packt Publishing
  • 出版日期: 2023-08-30
  • 售價: $1,520
  • 貴賓價: 9.5$1,444
  • 語言: 英文
  • 頁數: 298
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1801813787
  • ISBN-13: 9781801813785
  • 相關分類: RubyDesign Pattern
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

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

Purchase of the print or Kindle book includes a free PDF eBook

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

Book Description

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.

What you will learn

  • Discover Rails' core components and its request/response cycle
  • Understand Rails' convention-over-configuration principle and its impact on development
  • Explore patterns for 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
  • Explore different authorization models and layers
  • Use a class-based approach to configuration in Rails

Who this book is for

This book is for Rails application developers facing challenges in managing the growing complexity of their projects. It offers practical strategies for maintaining code readability and manageability, providing valuable guidance for developers at all levels. 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. Some experience in building web applications using the Rails framework will enhance your comprehension and application of the concepts presented in the book.

商品描述(中文翻譯)

從傳統的Rails模型-視圖-控制器三元組轉換為抽象模型,讓您的應用程式代碼庫與同步組件一起演進,提高靈活性和可維護性。

購買印刷版或Kindle書籍將包含免費的PDF電子書。

主要特點:

- 了解Rails的架構模式及其優缺點
- 當默認方法不足以組織Rails應用程式中的業務邏輯時,進行組織
- 引入新的抽象來解決設計問題

書籍描述:

Ruby on Rails是一個開源框架,用於從頭開始構建Web應用程式,重點是提高生產力,利用慣例優於配置原則和明確定義的模型-視圖-控制器模式,幫助開發人員構建有用的功能。然而,這種最初的簡單性往往導致難以控制的複雜性,將良好結構的代碼庫變成難以維護的混亂。本書旨在幫助您在開發Rails應用程式時保持代碼的可維護性。

您將首先探索框架的功能和原則,讓您能夠充分發揮Rails的潛力。然後,您將通過發現有用的模式和抽象層來解決許多常見的設計問題。通過實施抽象並將應用程式分為可管理的模塊,您將能夠專注於應用程式開發的特定部分,而不會被整個代碼庫所淹沒。這種策略還鼓勵代碼重用,簡化添加新功能和增強應用程式功能的過程。此外,您還將探索擴展Rails代碼庫的進一步步驟,例如服務提取。

通過閱讀本書,您將成為一位代碼設計專家,深入了解Rails框架的原則。

您將學到什麼:

- 了解Rails的核心組件及其請求/響應循環
- 理解Rails的慣例優於配置原則及其對開發的影響
- 探索實現靈活性、可擴展性和可測試性的Rails模式
- 識別並解決Rails的反模式,使代碼更清晰
- 實施處理臃腫模型和混亂視圖的設計模式
- 從郵件發送擴展到多通道通知傳遞
- 探索不同的授權模型和層次
- 在Rails中使用基於類的配置方法

本書適合對於管理日益複雜項目的Rails應用程式開發人員。它提供了維護代碼可讀性和可管理性的實用策略,為各級開發人員提供有價值的指導。無論您最近推出了第一個Rails最小可行產品,還是在努力推進一個龐大的單體應用程式,本書都能提供幫助。對Rails核心原則的深入理解是必須的。在使用Rails框架構建Web應用程式方面的一些經驗將增強您對本書中所介紹概念的理解和應用能力。

目錄大綱

  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

目錄大綱(中文翻譯)

- Rails作為一個網頁應用程式框架
- Active Models和Records
- 更多的Adapter,更少的實現
- Rails反模式?
- 當Rails抽象不足時
- 數據層抽象
- 處理模型之外的用戶輸入
- 提取表示層
- 授權模型和層
- 創建通知層
- 更好的HTML視圖抽象
- 將配置作為一個一流的應用程式成員
- 跨層和離層