Summary
In this chapter, you got familiar with Rails components such as Active Job and Active Storage and the architectural patterns used by them. You’ve learned how adapters help us to decouple application code from particular functionality providers. You’ve learned about how plugins allow us to extend the application functionality without interfering with other code.
You’ve learned about important characteristics of code, such as flexibility, extensibility, and testability, and how to improve them using the aforementioned patterns. You also learned about the process of gradual refactoring and its key principles.
In the next chapter, we will finish exploring the classic Rails way by looking at its controversial patterns and techniques, such as callbacks and global state objects.