Maison > interface Web > js tutoriel > le corps du texte

Séparation des préoccupations et loi de Murphy

Mary-Kate Olsen
Libérer: 2024-10-07 06:17:02
original
460 Les gens l'ont consulté

Separation of concern & Murphy

Tout ce qui peut mal tourner tournera mal, c'est ce que nous dit la loi de Murphy. Il s'agit d'un principe du génie logiciel connu sous le nom de séparation des préoccupations.

La séparation des préoccupations est un principe de conception en programmation utilisé pour diviser une application en sections ou modules.

SoC garantit que chaque section est responsable d'un aspect spécifique de fonctionnalité ou de comportement. cela garantit que les applications sont faciles à maintenir et à faire évoluer.

Ce principe nous permet de créer des composants réutilisables pouvant être utilisés dans l'ensemble de l'application.

La loi de Murphy dans la séparation des préoccupations

Lorsque plusieurs aspects ou fonctionnalités sont mélangés ou se trouvent dans un seul fichier de votre code, quelque chose finira par se casser.

En séparant les soucis par exemple en séparant l'application express et le serveur web les chances que tout tombe en panne sont réduites.

s'il y a un problème dans votre application express, cela n'affectera pas la logique de votre application. Plus vous compartimentez le comportement ou la responsabilité de votre application, plus les chances qu'un échec affectant l'ensemble de votre application diminue.

exemple où aucun SoC n'a été appliqué :


const express = require('express');
const app = express();

// Application logic (handling routes)
app.get('/hello', (req, res) => {
  res.send('Hello, World!');
});

// Server logic (listening on a port)
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});



Copier après la connexion

Voici comment fonctionne la loi de Murphy

  • si la panne du serveur se produit (le port est déjà utilisé), vous ne pourrez pas tester vos itinéraires et l'ensemble de l'application fonctionnera.

Exemple d'application du SoC


//app.js
const express = require('express');
const app = express();

// Application logic (handling routes)
app.get('/hello', (req, res) => {
  res.send('Hello, World!');
});

module.exports = app;


Copier après la connexion

//server.js
const app = require('./app'); 
// Server logic (listening on a port)
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});


Copier après la connexion
  • si le serveur ne parvient pas à démarrer, l'application pourra toujours fonctionner puisque la logique de votre application est sécurisée.

  • Vous pouvez toujours tester la logique de votre application sans exécuter directement le serveur en utilisant des frameworks de test comme jest et supertest


const request = require('supertest');  
const app = require('./app');          

// Test case for GET /hello
test('GET /hello should return "Hello, World!"', async () => {
  const response = await request(app).get('/hello');  
  expect(response.text).toBe('Hello, World!');        });



Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!