Commit inicial
This commit is contained in:
commit
9ff4ab61d7
14
ex1.js
Normal file
14
ex1.js
Normal file
@ -0,0 +1,14 @@
|
||||
class Logger {
|
||||
log(message) {
|
||||
console.log(`Log message: ${message}`);
|
||||
}
|
||||
}
|
||||
|
||||
function executeTask(task, logger) {
|
||||
logger.log("Iniciando tarefa...");
|
||||
task();
|
||||
logger.log("Tarefa concluída!");
|
||||
}
|
||||
|
||||
const logger = new Logger();
|
||||
executeTask(() => console.log("Executando tarefa principal..."), logger);
|
29
ex2.js
Normal file
29
ex2.js
Normal file
@ -0,0 +1,29 @@
|
||||
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' }
|
20
ex3.js
Normal file
20
ex3.js
Normal file
@ -0,0 +1,20 @@
|
||||
class Database {
|
||||
query(sql) {
|
||||
console.log(`Executando consulta: ${sql}`);
|
||||
}
|
||||
}
|
||||
|
||||
class UserService {
|
||||
constructor(database) {
|
||||
this.database = database; // Dependência injetada
|
||||
}
|
||||
|
||||
getUser(id) {
|
||||
this.database.query(`SELECT * FROM users WHERE id = ${id}`);
|
||||
}
|
||||
}
|
||||
|
||||
const database = new Database();
|
||||
const userService = new UserService(database);
|
||||
|
||||
userService.getUser(1); // Executa com a dependência injetada
|
Loading…
Reference in New Issue
Block a user