I'm trying to implement a business logic layer with a few use case for saving data of Booking of a Vehicle. I'm a bit confused as to where the Repository pattern should be implemented. Should I use it in BLL or DAL? It sounds very basic but I'm kind of lost in the design phase. If Repository pattern is not suitable for BLL, then which one is. Any help/tips are appreciated.
The repository patterns responsibility is to store and fetch data from the data layer and to make abstraction about how this data layer looks like.
The idea behind it is that if this underlying layer should change, you would possibly need to change the implementation of the repository but not the users of the repository who would still see the same interface.
Remembering SOLID design rules and Single responsibility in particular, the repository should not have any business logic and therefore cannot be part of it.
The business layer uses the repositories though.