Taken from https://cloud.google.com/apis/design/design_patterns Empty Responses Representing Ranges Resource Labels Long Running Operations List Pagination List Sub-Collections Get Unique Resource From Sub-Collection Sorting Order Request Validation Request Duplication Enum Default Value Grammer Syntax Integer Types Partial Response Resource View ETags Output
API Design Guide
A great reference for API design (including REST) is Google’s API Design Guide. It is based on Googles experience of developing networked APIs since 2014, and has many examples from their core services (e.g. GMail). https://cloud.google.com/apis/design/
Patterns of Enterprise Application Architecture
Domain Logic Patterns Transaction Script Organises business logic by procedures where each procedure handles a single request from the presentation. https://www.martinfowler.com/eaaCatalog/transactionScript.html Domain Model An object model of the domain that incorporates both behaviour and data. https://www.martinfowler.com/eaaCatalog/domainModel.html Table Model A single
Design Patterns
Creational Patterns Singleton Abstract Factory Factory Method Prototype Builder Lazy Initialisation Object Pool Structural Patterns Adapter (Wrapper/Translator) Bridge Composite Decorator Facade Flyweight Front Controller Module Proxy Behavioural Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Null Object Observer (Publish/Subscribe)