Node.js ਕੁਝ ਗਿਣੇ-ਚੁਣੇ design pattern 'ਤੇ ਟੇਕ ਰੱਖਦਾ ਹੈ ਜੋ ਇਸ ਦੇ module system, async ਮਾਡਲ, ਅਤੇ streaming I/O ਨਾਲ ਫਿੱਟ ਬੈਠਦੇ ਹਨ। ਸਭ ਤੋਂ ਆਮ ਪੈਟਰਨ ਜੋ ਹਰ backend ਡਿਵੈਲਪਰ ਨੂੰ ਪਛਾਣਨੇ ਚਾਹੀਦੇ ਹਨ:
Node.js ਕੁਝ ਗਿਣੇ-ਚੁਣੇ design pattern 'ਤੇ ਟੇਕ ਰੱਖਦਾ ਹੈ ਜੋ ਇਸ ਦੇ module system, async ਮਾਡਲ, ਅਤੇ streaming I/O ਨਾਲ ਫਿੱਟ ਬੈਠਦੇ ਹਨ। ਸਭ ਤੋਂ ਆਮ ਪੈਟਰਨ ਜੋ ਹਰ backend ਡਿਵੈਲਪਰ ਨੂੰ ਪਛਾਣਨੇ ਚਾਹੀਦੇ ਹਨ:
module.exports / export ਰਾਹੀਂ ਇੱਕ ਪਬਲਿਕ API ਪ੍ਰਗਟ ਕਰਦੇ ਹੋ, ਅੰਦਰੂਨੀ ਹਿੱਸੇ ਨੂੰ private ਰੱਖਦੇ ਹੋ। Node ਵਿੱਚ code ਸੰਗਠਨ ਦੀ ਬੁਨਿਆਦ।// db.js — ਹਰ `require("./db")` ਨੂੰ ਇਹੀ pool ਮਿਲਦਾ ਹੈ (module cache ਰਾਹੀਂ singleton)।
const pool = createPool(process.env.DATABASE_URL);
module.exports = pool;
function createLogger(kind) {
return kind === "json" ? new JsonLogger() : new TextLogger();
}
EventEmitter, streams, ਅਤੇ ਜ਼ਿਆਦਾਤਰ core module ਇਸ ਨੂੰ ਵਰਤਦੇ ਹਨ।const { EventEmitter } = require("node:events");
const bus = new EventEmitter();
bus.on("order:paid", (o) => sendReceipt(o));
bus.emit("order:paid", order);
(ctx, next) ਲੈਂਦੀ ਹੈ, Express/Koa ਨੇ ਪ੍ਰਸਿੱਧ ਕੀਤੀ। cross-cutting ਚਿੰਤਾਵਾਂ (auth, logging, validation) ਲਈ ਬਹੁਤ ਵਧੀਆ।app.use((req, res, next) => { req.startedAt = Date.now(); next(); });
const { pipeline } = require("node:stream/promises");
await pipeline(fs.createReadStream("in"), gzip(), fs.createWriteStream("out.gz"));
| ਲੋੜ | Pattern |
|---|---|
| ਇੱਕ ਸਾਂਝਾ ਸਰੋਤ | Singleton (module cache) |
Object ਬਣਾਓ, new ਲੁਕਾਓ | Factory |
| async event 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ | Observer / EventEmitter |
| Cross-cutting request logic | Middleware |
| ਵੱਡਾ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਪ੍ਰੋਸੈਸ | Streams / pipeline |
| Testable, decoupled dependency | Dependency Injection |
Pattern ਇੱਕ ਸਾਂਝੀ ਸ਼ਬਦਾਵਲੀ ਹਨ: "config ਇੱਕ module-cached singleton ਹੈ" ਜਾਂ "auth middleware ਹੈ" ਕਹਿਣਾ ਕੁਝ ਸ਼ਬਦਾਂ ਵਿੱਚ ਇੱਕ ਡਿਜ਼ਾਈਨ ਦੱਸ ਦਿੰਦਾ ਹੈ। Node ਦਾ ਆਪਣਾ core (EventEmitter, streams, module system) ਇਹਨਾਂ ਤੋਂ ਹੀ ਬਣਿਆ ਹੈ, ਇਸ ਲਈ ਇਹਨਾਂ ਨੂੰ ਪਛਾਣਨਾ ਤੁਹਾਨੂੰ framework ਪੜ੍ਹਨ ਅਤੇ ਆਪਣੀਆਂ service ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। Interviewer ਇਹ ਸਵਾਲ ਇਹ ਜਾਂਚਣ ਲਈ ਵਰਤਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਸਿਰਫ਼ callback ਬੇਤਰਤੀਬ ਨਹੀਂ ਜੋੜਦੇ, ਸਗੋਂ ਫਿੱਟ ਬੈਠਣ ਵਾਲਾ pattern ਚੁਣਦੇ ਹੋ — ਅਤੇ ਇਸ ਦੇ trade-off ਜਾਣਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ singleton global state ਨੂੰ test ਕਰਨਾ ਔਖਾ ਬਣਾ ਦਿੰਦਾ ਹੈ।
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ