Trato de averiguar qué es exactamente diferente con el Modelo contra el Repositorio y el Servicio. En algún momento encontré el código del Repositorio dentro del Modelo. En algún momento necesitará un servicio de intermediario entre el modelo y el repositorio.
Ver es presentar datos
// index.ejs <% users.forEach(user => { %> <tr> <td>user['id']</td> <td>user['username']</td> <td>user['password']</td> </tr> <% }) %> // present data 1 ADMIN ADMINPASS 2 TEST TESTPASSLa capa de repositorio es una capa que tiene una acción lógica para interactuar con la base de datos.
class UserRepository { public selectAll(){ return DBConnector.execute(query) } public insert({username, password}) public update({username, password) public delete(id) }El controlador es una capa que transforma los datos de la base de datos y luego los arroja a la capa de visualización.
class UserController { public index(req, res){ // Get all user, then transform to uppercase const usersList = new UserRepository.selectAll(); const usersTransform = usersList[0].map(user => user.toUpperCase()); res.render('index', {users: usersTransform}) } }Ruta
app.get('/', new UserController.index)¿Cuándo necesitas usar esta capa? Veo mucha discusión cuando se habla de MVC. explica la lógica de acción que interactúa con la base de datos dentro de Model. en algún momento Modelo, Servicio, Repositorio intercambiables. así que confunde bien.
class UserService { } class UserModel { }