Performance: Controller pattern for route handlers
MEDIUM IMPACT
This pattern affects server response time and how quickly the server can handle incoming requests, indirectly influencing perceived page load speed.
const userController = {
listActiveUsers: (req, res) => {
const users = database.getUsers();
const filtered = users.filter(u => u.active);
res.json(filtered);
}
};
app.get('/users', userController.listActiveUsers);app.get('/users', (req, res) => { // complex logic directly in route const users = database.getUsers(); const filtered = users.filter(u => u.active); res.json(filtered); });
| Pattern | Server CPU Usage | Code Maintainability | Response Time | Verdict |
|---|---|---|---|---|
| Inline route logic | High due to repeated code | Low, hard to maintain | Slower under load | [X] Bad |
| Controller pattern | Lower with reuse and caching | High, easier to maintain | Faster and scalable | [OK] Good |