Junior — Middle
What is the role of a repository in software architecture?
sobes.tech AI
Answer from AI
The repository in software architecture is responsible for abstracting data access. It encapsulates the logic of interacting with the data source (e.g., a database), providing a convenient interface for retrieving, saving, and updating objects. This allows separating business logic from data storage details, facilitating maintenance and testing.
Example in Java using the Repository pattern:
public interface UserRepository {
User findById(Long id);
void save(User user);
}
public class UserRepositoryImpl implements UserRepository {
// Implementation of database access
public User findById(Long id) {
// database query
}
public void save(User user) {
// save to database
}
}