class UserService { constructor(database) { this.database = database; } getUser(id) { return this.database.find(user => user.id === id); } } class Database { constructor() { this.users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' } ]; } find(id) { return this.users.find(id); } } // Inversão de Controle a dependência (Database) é injetada no UserService const database = new Database(); const userService = new UserService(database); const user = userService.getUser(1); console.log(user); // { id: 1, name: 'Alice' }