Repositories, by definition, are places to store data. However, in the pattern presented in this chapter, it has nothing to do with the GoF, nor does it resemble Data Access Objects (DAO). In fact, we use this pattern as a separation layer where they will work with the database, regardless of the business rule, which will hold the managers or controllers in an MVC pattern.
Imagine the data module of Delphi, and imagine that Delphi, even being RAD, is fully object-oriented. Did you imagine the data module? Therefore, our default repository may even present itself with the data module, so we must separate the business layer, the view, and the management of the entire system from the database layer. This will become clearer in the coming sections.