Learning about abstractions
Let’s dive into the first aspect of framework organization – the fundamental concept of abstractions. One of the main conveniences of software development frameworks in web development or other fields is to provide developers with high-quality opinionated abstractions. This means taking a task that can span multiple lines of code, riddled with implementation gotchas, and creating a simple interface around it. It also means coming up with an intelligent way of structuring independent interfaces into a familiar, extensible pattern that is easily usable.
This concept of abstracting away the complexity and generalization of objects helps us define the building blocks that could be used for multiple purposes in our frameworks. Each abstracted object can be initialized with a custom set of properties and be utilized in many shapes when needed. Having this benefit of simplification and generalization in frameworks is what allows developers to focus...