A few weeks back, I suddenly realized that REST and Repository was the perfect match in the terms of implementation.

Current popular REST implementations take advantage of HTTP’s header operations such as GET, POST, PUT, DELETE. And the main methods of repository pattern is SELECT, INSERT, UPDATE, DELETE, INSERT.

So we can naturally use REST and Repository together. REST will take care of API interfaces and Repository will manage the backend.

Note: Repository in this discussion is more about the domain layer than data access layer.