IoC/ex2.js

30 lines
599 B
JavaScript
Raw Permalink Normal View History

2024-09-12 12:29:05 +00:00
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' }