najnowszy post o Chain of Responsibility od @elszczepano zainspirował mnie do napisania recenzji;
TL;DR: chain of responsibility masz jak wykonujesz po sobie rzeczy, np.
1. Zapisz do logów
2. Wyślij metryki
3. Zwróć HTML ze zdjęciem papieża
Bardzo chciałem, żeby moja krytyka była merytoryczna, więc wpisałem dokładnie ten prompt w Chat GPT z prośbą o napisanie przykładu w express.js (ryc. 1)
const express = require('express');
const app = express();
// Middleware 1: Zapisz do logów
app.use((req, res, next) => {
console.log(`Received a request at ${req.url}`);
next(); // Przejście do następnego middleware
});
// Middleware 2: Wyślij metryki
app.use((req, res, next) => {
// Kod wysyłający metryki (przykładowo)
console.log(`Sending metrics for ${req.url}`);
next(); // Przejście do następnego middleware
});
// Middleware 3: Zwróć HTML ze zdjęciem papieża
app.use((req, res) => {
res.send('<html><body><h1>Strona z zdjęciem papieża</h1><img src="url\_do\_zdjecia\_papieża.jpg" alt="Papież"></body></html>');
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
na koniec chatGPT wyjaśnia nam co zrobił:
W tym kodzie każda funkcja middleware wywołuje next() po wykonaniu swojego zadania, co pozwala na przekazanie kontroli do następnego middleware w łańcuchu. Ostatni middleware nie wywołuje next(), ponieważ kończy proces obsługi żądania, wysyłając odpowiedź HTML.
pytanie: jaki jest sens pisać ten artykuł, zamiast napisać samo tl;dr? Mam nadzieję, że autor nie odbierze mojej recenzji osobiście. Ja nie mam motywacji napisać czegoś "od zera" dlatego póki co komentuję odważniejszych. pozdrawiam
#programowanie #pytanie #naukaprogramowania #lajko <- mój tag o programowaniu