Heim  >  Artikel  >  Web-Frontend  >  Unternehmenstrennung und Murphys Gesetz

Unternehmenstrennung und Murphys Gesetz

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-07 06:17:02510Durchsuche

Separation of concern & Murphy

Alles, was schief gehen kann, wird schief gehen sagt uns Murphys Gesetz. Dies ist ein Prinzip in der Softwareentwicklung, das als „Separation of Concern“ bekannt ist.

Separation of Concern ist ein Entwurfsprinzip in der Programmierung, mit dem eine Anwendung in Abschnitte oder Module unterteilt wird.

SoC stellt sicher, dass jeder Abschnitt für einen bestimmten Aspekt der Funktionalität oder des Verhaltens verantwortlich ist. Dies stellt sicher, dass die Anwendungen leicht zu warten und zu skalieren sind.

Dieses Prinzip ermöglicht es uns, wiederverwendbare Komponenten zu erstellen, die in der gesamten Anwendung verwendet werden können.

Murphys Gesetz zur Trennung von Belangen

Wenn mehrere Aspekte oder Funktionalitäten gemischt sind oder sich in einer Datei in Ihrem Code befinden, wird irgendwann etwas kaputt gehen.

Durch die Trennung von Bedenken, beispielsweise durch die Trennung der Express-Anwendung und des Webservers, wird die Wahrscheinlichkeit verringert, dass alles kaputt geht.

Wenn in Ihrer Express-App ein Problem auftritt, hat dies keinen Einfluss auf die Logik Ihrer Anwendung. Je stärker Sie das Verhalten oder die Verantwortung Ihrer Anwendung unterteilen, desto geringer ist die Wahrscheinlichkeit, dass sich ein einzelner Fehler auf Ihre gesamte Anwendung auswirkt.

Beispiel, bei dem kein SoC zum Einsatz kam:


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');
});



So funktioniert Murphys Gesetz

  • Wenn der Server ausfällt (der Port ist bereits belegt), können Sie Ihre Routen nicht testen und die gesamte App funktioniert wieder.

Beispiel, wo SoC angewendet wurde


//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;



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


  • Wenn der Server nicht startet, kann die Anwendung weiterhin funktionieren, da Ihre Anwendungslogik sicher ist.

  • Sie können Ihre Anwendungslogik weiterhin testen, ohne den Server direkt auszuführen, indem Sie Test-Frameworks wie Jest und Supertest verwenden


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!');        });



Das obige ist der detaillierte Inhalt vonUnternehmenstrennung und Murphys Gesetz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Live-Pizza-Liefer-AppNächster Artikel:Live-Pizza-Liefer-App