Node.js se opira na peščico načrtovalskih vzorcev, ki ustrezajo njegovemu sistemu modulov, asinhronemu modelu in pretočnemu V/I. Najpogostejši, ki bi jih moral prepoznati vsak zaledni razvijalec:
Node.js se opira na peščico načrtovalskih vzorcev, ki ustrezajo njegovemu sistemu modulov, asinhronemu modelu in pretočnemu V/I. Najpogostejši, ki bi jih moral prepoznati vsak zaledni razvijalec:
module.exports / export, notranjost pa ohranjaš zasebno. Temelj organizacije kode v Node.// db.js — vsak `require("./db")` dobi ta isti bazen (singleton prek predpomnilnika modulov).
const pool = createPool(process.env.DATABASE_URL);
module.exports = pool;
function createLogger(kind) {
return kind === "json" ? new JsonLogger() : new TextLogger();
}
EventEmitter, tokovi in večina jedrnih modulov ga uporabljajo.const { EventEmitter } = require("node:events");
const bus = new EventEmitter();
bus.on("order:paid", (o) => sendReceipt(o));
bus.emit("order:paid", order);
(ctx, next), ki sta ga popularizirala Express/Koa. Odličen za prečne zadeve (auth, beleženje, validacija).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"));
| Potreba | Vzorec |
|---|---|
| En deljeni vir | Singleton (predpomnilnik modulov) |
Gradi objekte, skrij new | Factory |
| Odzivaj se na asinhrone dogodke | Observer / EventEmitter |
| Prečna logika zahteve | Middleware |
| Varno obdeluj velike podatke | Tokovi / pipeline |
| Preizkusljive, razvezane odvisnosti | Vbrizgavanje odvisnosti |
Vzorci so skupni besednjak: reči „konfiguracija je modulsko predpomnjen singleton" ali „auth je middleware" v nekaj besedah sporoči zasnovo. Samo jedro Node (EventEmitter, tokovi, sistem modulov) je zgrajeno iz njih, zato ti njihovo prepoznavanje pomaga brati ogrodja in strukturirati lastne storitve. Spraševalci to vprašanje uporabljajo, da preverijo, ali ne le priložnostno povezuješ povratne klice, ampak posežeš po vzorcu, ki se prilega — in poznaš njegove kompromise, kot je singleton, ki oteži testiranje globalnega stanja.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj