Node.js அதன் module system, async model மற்றும் streaming I/O-க்கு பொருந்தும் ஒரு சில design patterns-ஐ சார்ந்துள்ளது. ஒவ்வொரு backend developer-ம் அடையாளம் காண வேண்டிய மிகவும் பொதுவானவை:
Node.js அதன் module system, async model மற்றும் streaming I/O-க்கு பொருந்தும் ஒரு சில design patterns-ஐ சார்ந்துள்ளது. ஒவ்வொரு backend developer-ம் அடையாளம் காண வேண்டிய மிகவும் பொதுவானவை:
module.exports / export மூலம் வெளிப்படுத்துகிறீர்கள், உள்ளகங்களை 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 modules இதைப் பயன்படுத்துகின்றன.const { EventEmitter } = require("node:events");
const bus = new EventEmitter();
bus.on("order:paid", (o) => sendReceipt(o));
bus.emit("order:paid", order);
(ctx, next) பெறும் functions-இன் ஒரு pipeline, Express/Koa-ஆல் பிரபலப்படுத்தப்பட்டது. குறுக்குவெட்டு கவலைகளுக்கு (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 |
|---|---|
| ஒரு பகிரப்பட்ட resource | Singleton (module cache) |
Objects உருவாக்கு, new-ஐ மறை | Factory |
| Async events-க்கு எதிர்வினை | Observer / EventEmitter |
| குறுக்குவெட்டு request logic | Middleware |
| பெரிய data-ஐ பாதுகாப்பாக செயலாக்கு | Streams / pipeline |
| Testable, decoupled dependencies | Dependency Injection |
Patterns ஒரு பகிரப்பட்ட சொல்வளம்: "config என்பது module-cache செய்யப்பட்ட singleton" அல்லது "auth என்பது middleware" என்று சொல்வது ஒரு design-ஐ சில வார்த்தைகளில் தெரிவிக்கிறது. Node-இன் சொந்த core (EventEmitter, streams, module system) இவற்றிலிருந்து கட்டப்பட்டுள்ளது, எனவே அவற்றை அடையாளம் காண்பது frameworks-ஐ படிக்கவும் உங்கள் சொந்த services-ஐ கட்டமைக்கவும் உதவுகிறது. நீங்கள் callbacks-ஐ வெறுமனே தற்காலிகமாக இணைக்காமல், பொருந்தும் pattern-ஐ அணுகுகிறீர்களா — மற்றும் singleton global state-ஐ test செய்வதை கடினமாக்குவது போன்ற அதன் trade-offs-ஐ அறிவீர்களா என்பதைச் சரிபார்க்க interviewers இந்தக் கேள்வியைப் பயன்படுத்துகிறார்கள்.
விரிவான பதில்களுடன் கூடிய IT நேர்காணல் கேள்விகளின் நூலகம் — Junior முதல் Senior வரை.
நன்கொடை