30 lines
599 B
JavaScript
30 lines
599 B
JavaScript
|
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' }
|