Now that we have seen various API paradigms, let's discuss high-level patterns of API design. Some of these patterns deal with solving common concerns across a set of instances. Others describe a design pattern for structuring code in an API server.
Higher-level patterns
Model-View-Controller (MVC)
The MVC design pattern is the most used pattern for designing API systems. The main idea behind MVC is separated presentation (https://martinfowler.com/eaaDev/SeparatedPresentation.html), where the architect endeavors to make a clear division between domain objects which model the real world and presentation objects which are the visual representation elements (or the GUI). This pattern defines clear responsibilities for each...