Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Beschreibung
Use Components to Improve Maintainability, Reduce Complexity, and Accelerate Testing in Large Rails Applications“This book gives Ruby pros a comprehensive guide for increasing the sophistication of their designs, without having to forsake the principles of elegance that keep them in our corner of the software world.”–Obie Fernandez, author, The RailsTM 5 Way, Fourth EditionAs Rails applications grow, even experienced developers find it difficult to navigate code bases, implement new features, and keep tests fast. Components are the solution, and Component-Based Rails Applications shows how to make the most of them.Writing for programmers and software team leads who are comfortable with Ruby and Rails, Stephan Hagemann introduces a practical, start-to-finish methodology for modernizing and restructuring existing Rails [...] step at a time, Hagemann demonstrates how to revamp Rails applications to exhibit visible, provably independent, and explicitly connected parts–thereby simplifying them and making them far easier for teams to manage, change, and test. Throughout, he introduces design concepts and techniques you can use to improve applications of many kinds, even if they weren’t built with Rails or [...] how components clarify intent, improve collaboration, and simplify innovation and maintenanceCreate a full Rails application within a component, from first steps to migrations and dependency managementTest component-based applications, manage assets and dependencies, and deploy your application to productionIdentify the seams in an existing Rails application, and refactor it to extract componentsMaster a scripted, repeatable approach for refactoring Rails applications of any sizeUse component-based Rails with two popular structural patterns: hexagonal and DCI architectureLeverage your new component skills with other frameworks and languagesOvercome the unique challenges that arise as you componentize Rails applications If you’re ready to simplify and revitalize your complex Rails systems, you’re ready for Component-Based Rails Applications.Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Use Components to Improve Maintainability, Reduce Complexity, and Accelerate Testing in Large Rails Applications“This book gives Ruby pros a comprehensive guide for increasing the sophistication of their designs, without having to forsake the principles of elegance that keep them in our corner of the software world.”–Obie Fernandez, author, The RailsTM 5 Way, Fourth EditionAs Rails applications grow, even experienced developers find it difficult to navigate code bases, implement new features, and keep tests fast. Components are the solution, and Component-Based Rails Applications shows how to make the most of them.Writing for programmers and software team leads who are comfortable with Ruby and Rails, Stephan Hagemann introduces a practical, start-to-finish methodology for modernizing and restructuring existing Rails [...] step at a time, Hagemann demonstrates how to revamp Rails applications to exhibit visible, provably independent, and explicitly connected parts–thereby simplifying them and making them far easier for teams to manage, change, and test. Throughout, he introduces design concepts and techniques you can use to improve applications of many kinds, even if they weren’t built with Rails or [...] how components clarify intent, improve collaboration, and simplify innovation and maintenanceCreate a full Rails application within a component, from first steps to migrations and dependency managementTest component-based applications, manage assets and dependencies, and deploy your application to productionIdentify the seams in an existing Rails application, and refactor it to extract componentsMaster a scripted, repeatable approach for refactoring Rails applications of any sizeUse component-based Rails with two popular structural patterns: hexagonal and DCI architectureLeverage your new component skills with other frameworks and languagesOvercome the unique challenges that arise as you componentize Rails applications If you’re ready to simplify and revitalize your complex Rails systems, you’re ready for Component-Based Rails Applications.Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Über den Autor
Stephan Hagemann most recently has been supporting clients of Pivotal Software in journeys of digital transformation. In these, organizational change is as much a topic as the implementation of Agile processes and software system architecture. This work grew out of Stephan’s previous management and engineering roles within Pivotal Labs, Pivotal’s software consulting group. Prior to joining Pivotal, Stephan moved to the United States from Germany where he worked as a software engineer for xing. He has a doctorate in information systems from the University of Münster in Germany.
Inhaltsverzeichnis

Foreword xi

Preface xiii

Acknowledgments xxi

About the Author xxiii

Chapter 1: Introduction to Component-Based Rails Applications 1

1.1 Component-Based Rails 2

1.2 Benefits of Component-Based Applications 4

1.3 Component-Based Ruby 13

1.4 The Application Continuum 14

1.5 Related Works 15

Chapter 2: Creating a Component-Based Application 17

2.1 The Entire App Inside a Component 18

2.2 ActiveRecord and Handling Migrations within Components 27

2.3 Handling Dependencies within Components 34

Chapter 3: Tooling for Components 49

3.1 Testing a Component 50

3.2 Testing the Main Application 65

3.3 Asset Loading for Components 74

3.4 Switching Databases 82

3.5 Deploying to Platforms-as-a-Service 86

3.6 Updating Application Dependencies 90

3.7 Proposal for a Different Application Root—Showcasing the Difference of Components’ Structure 99

Chapter 4: Component Refactorings: Extracting Components Out of Components 111

4.1 Determining What to Extract: Bottom-Up 112

4.2 Refactoring: Extract Domain Gem—Predictor 120

4.3 Determining What to Extract: Top-Down 139

4.4 Refactoring: Pulling Up a UI Component—TeamsAdmin, GamesAdmin, PredictionUI, WelcomeUI 150

4.5 Refactoring: Pushing Down a Model Component—Teams, Games 168

4.6 Refactoring: Improve Naming of Component—AppComponent to WebUI 183

4.7 More Component Refactoring Patterns 189

Chapter 5: From Ball of Mud to First Components 195

5.1 Small Steps 196

5.2 One Big Step 196

Chapter 6: Component-Based Rails in Relation to Other Patterns 211

6.1 Hexagonal Architecture 212

6.2 Data-Context-Integration (DCI) 227

Chapter 7: Components in Other Languages 237

7.1 Kotlin, Java, and Gradle 238

7.2 .NET / C 241

7.3 Conclusion 243

Appendix 245

A.1 Plain versus --full versus --mountable Engines 245

A.2 How Do Engine Routes and Engine Mounting Work? 254

A.3 Additional Testing with Older Versions of Rails 261

Index 265

Details
Erscheinungsjahr: 2024
Genre: Importe, Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: 304 S.
ISBN-13: 9780134774589
ISBN-10: 0134774582
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Hagemann, Stephan
Auflage: 1. Auflage
Hersteller: Pearson International
Verantwortliche Person für die EU: Pearson Studium im Verlag Pearson Benelux B.V. Zweigniederla, Sankt-Martin-Str. 82, D-81541 München, buchhandel@pearson.com
Maße: 235 x 178 x 17 mm
Von/Mit: Stephan Hagemann
Erscheinungsdatum: 28.09.2024
Gewicht: 0,536 kg
Artikel-ID: 133177157