Performance: Middleware factory pattern
MEDIUM IMPACT
This pattern affects server response time and middleware execution efficiency in Express apps.
function loggerFactory(level) {
return function logger(req, res, next) {
console.log(`[${level}] ${req.method} ${req.url}`);
next();
};
}
app.use(loggerFactory('info'));function logger(req, res, next) {
const level = req.query.level || 'info';
console.log(`[${level}] ${req.method} ${req.url}`);
next();
}
app.use(logger);| Pattern | Middleware Creation | Per-request Cost | CPU Overhead | Verdict |
|---|---|---|---|---|
| Direct middleware with config inside | Single instance | High (recomputes config) | High | [X] Bad |
| Middleware factory with config parameter | Multiple instances (once per config) | Low (uses preset config) | Low | [OK] Good |