ホームページ > 記事 > ウェブフロントエンド > 関心事の分離とマーフィーの法則
うまくいかない可能性のあるものは必ずうまくいかないというのがマーフィーの法則です。これは、関心の分離として知られるソフトウェア エンジニアリングの原則です。
関心の分離は、アプリケーションをセクションまたはモジュールに分割するために使用されるプログラミングの設計原則です。
SoC は、各セクションが機能または動作の特定の側面を担当することを保証します。これにより、アプリケーションの保守と拡張が容易になります。
この原則により、アプリケーション全体で使用できる再利用可能なコンポーネントを作成できます。
複数の側面や機能が混在している場合、またはコード内の 1 つのファイル内にある場合、最終的に何かが壊れます。
高速アプリケーションと Web サーバーを分離するなど、懸念事項を分離すると、すべてが壊れる可能性が減ります。
Express アプリに問題があったとしても、アプリケーションのロジックには影響しません。アプリケーションの動作や責任を細分化すればするほど、1 つの障害がアプリケーション全体に影響を及ぼす可能性は低くなります。
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'); });
マーフィーの法則の仕組みは次のとおりです
//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'); });
サーバーが起動に失敗した場合でも、アプリケーションのロジックは安全であるため、アプリケーションは引き続き動作します。
jest や 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!'); });
以上が関心事の分離とマーフィーの法則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。